Some refactoring.

This commit is contained in:
Martin Rotter 2014-09-12 07:51:22 +02:00
parent 1c8358999e
commit b7b80ab888
5 changed files with 24 additions and 23 deletions

View File

@ -151,25 +151,6 @@ void FormMain::prepareMenus() {
} }
} }
void FormMain::processExecutionMessage(const QString &message) {
qDebug("Received '%s' execution message from another application instance.",
qPrintable(message));
if (message == APP_IS_RUNNING) {
if (SystemTrayIcon::isSystemTrayActivated()) {
qApp->trayIcon()->showMessage(APP_NAME,
tr("Application is already running."),
QSystemTrayIcon::Information,
TRAY_ICON_BUBBLE_TIMEOUT);
}
display();
}
else if (message == APP_QUIT_INSTANCE) {
qApp->quit();
}
}
void FormMain::quit() { void FormMain::quit() {
qDebug("Quitting the application."); qDebug("Quitting the application.");
qApp->quit(); qApp->quit();

View File

@ -78,9 +78,6 @@ class FormMain : public QMainWindow {
void setupIcons(); void setupIcons();
public slots: public slots:
// Processes incoming message from another RSS Guard instance.
void processExecutionMessage(const QString &message);
// Quits the application. // Quits the application.
void quit(); void quit();

View File

@ -115,7 +115,7 @@ int main(int argc, char *argv[]) {
// Setup single-instance behavior. // Setup single-instance behavior.
QObject::connect(&application, SIGNAL(messageReceived(QString)), QObject::connect(&application, SIGNAL(messageReceived(QString)),
&main_window, SLOT(processExecutionMessage(QString))); &application, SLOT(processExecutionMessage(QString)));
// Enter global event loop. // Enter global event loop.
return Application::exec(); return Application::exec();

View File

@ -57,6 +57,25 @@ IconFactory *Application::icons() {
return m_icons; return m_icons;
} }
void Application::processExecutionMessage(const QString &message) {
qDebug("Received '%s' execution message from another application instance.",
qPrintable(message));
if (message == APP_IS_RUNNING) {
if (SystemTrayIcon::isSystemTrayActivated()) {
qApp->trayIcon()->showMessage(APP_NAME,
tr("Application is already running."),
QSystemTrayIcon::Information,
TRAY_ICON_BUBBLE_TIMEOUT);
}
mainForm()->display();
}
else if (message == APP_QUIT_INSTANCE) {
quit();
}
}
SystemTrayIcon *Application::trayIcon() { SystemTrayIcon *Application::trayIcon() {
if (m_trayIcon == NULL) { if (m_trayIcon == NULL) {
m_trayIcon = new SystemTrayIcon(APP_ICON_PATH, APP_ICON_PLAIN_PATH, m_mainForm); m_trayIcon = new SystemTrayIcon(APP_ICON_PATH, APP_ICON_PLAIN_PATH, m_mainForm);

View File

@ -145,6 +145,10 @@ class Application : public QtSingleApplication {
return static_cast<Application*>(QCoreApplication::instance()); return static_cast<Application*>(QCoreApplication::instance());
} }
public slots:
// Processes incoming message from another RSS Guard instance.
void processExecutionMessage(const QString &message);
private slots: private slots:
// Last-minute reactors. // Last-minute reactors.
void onCommitData(QSessionManager &manager); void onCommitData(QSessionManager &manager);