diff --git a/src/gui/formmain.cpp b/src/gui/formmain.cpp index c6d45e188..65991acd2 100755 --- a/src/gui/formmain.cpp +++ b/src/gui/formmain.cpp @@ -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() { qDebug("Quitting the application."); qApp->quit(); diff --git a/src/gui/formmain.h b/src/gui/formmain.h index 23ddd33c0..4bfe394f8 100755 --- a/src/gui/formmain.h +++ b/src/gui/formmain.h @@ -78,9 +78,6 @@ class FormMain : public QMainWindow { void setupIcons(); public slots: - // Processes incoming message from another RSS Guard instance. - void processExecutionMessage(const QString &message); - // Quits the application. void quit(); diff --git a/src/main.cpp b/src/main.cpp index 381937f26..f7c5e6ed6 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -115,7 +115,7 @@ int main(int argc, char *argv[]) { // Setup single-instance behavior. QObject::connect(&application, SIGNAL(messageReceived(QString)), - &main_window, SLOT(processExecutionMessage(QString))); + &application, SLOT(processExecutionMessage(QString))); // Enter global event loop. return Application::exec(); diff --git a/src/miscellaneous/application.cpp b/src/miscellaneous/application.cpp index 809b079cd..cb9dff916 100755 --- a/src/miscellaneous/application.cpp +++ b/src/miscellaneous/application.cpp @@ -57,6 +57,25 @@ IconFactory *Application::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() { if (m_trayIcon == NULL) { m_trayIcon = new SystemTrayIcon(APP_ICON_PATH, APP_ICON_PLAIN_PATH, m_mainForm); diff --git a/src/miscellaneous/application.h b/src/miscellaneous/application.h index 400a9dccc..976f99607 100755 --- a/src/miscellaneous/application.h +++ b/src/miscellaneous/application.h @@ -145,6 +145,10 @@ class Application : public QtSingleApplication { return static_cast(QCoreApplication::instance()); } + public slots: + // Processes incoming message from another RSS Guard instance. + void processExecutionMessage(const QString &message); + private slots: // Last-minute reactors. void onCommitData(QSessionManager &manager);