diff --git a/qcmares.qrc b/qcmares.qrc index b9e6c18..bd04c4e 100644 --- a/qcmares.qrc +++ b/qcmares.qrc @@ -7,5 +7,7 @@ resources/images/psv_icon_16.png resources/images/qcma.png resources/images/edit-clear-locationbar-rtl.png + resources/images/psv_icon_dc.png + resources/images/psv_icon_16_dc.png diff --git a/resources/images/psv_icon_16_dc.png b/resources/images/psv_icon_16_dc.png new file mode 100644 index 0000000..8f1008a Binary files /dev/null and b/resources/images/psv_icon_16_dc.png differ diff --git a/resources/images/psv_icon_dc.png b/resources/images/psv_icon_dc.png new file mode 100644 index 0000000..399648d Binary files /dev/null and b/resources/images/psv_icon_dc.png differ diff --git a/src/mainwidget.cpp b/src/mainwidget.cpp index fbe4bc5..b7cde85 100644 --- a/src/mainwidget.cpp +++ b/src/mainwidget.cpp @@ -77,10 +77,27 @@ void MainWidget::stopServer() void MainWidget::deviceDisconnect() { +#ifndef Q_OS_WIN32 + trayIcon->setIcon(QIcon(":/main/resources/images/psv_icon_dc.png")); +#else + trayIcon->setIcon(QIcon(":/main/resources/images/psv_icon_16_dc.png")); +#endif + qDebug("Icon changed - disconnected"); setTrayTooltip(tr("Disconnected")); receiveMessage(tr("The device has been disconnected")); } +void MainWidget::deviceConnected(QString message) +{ + Q_UNUSED(message); +#ifndef Q_OS_WIN32 + trayIcon->setIcon(QIcon(":/main/resources/images/psv_icon.png")); +#else + trayIcon->setIcon(QIcon(":/main/resources/images/psv_icon_16.png")); +#endif + qDebug("Icon changed - connected"); +} + void MainWidget::prepareApplication() { connectSignals(); @@ -92,6 +109,7 @@ void MainWidget::connectSignals() { connect(&dialog, SIGNAL(finished(int)), this, SLOT(dialogResult(int))); connect(&manager, SIGNAL(stopped()), qApp, SLOT(quit())); + connect(&manager, SIGNAL(deviceConnected(QString)), this, SLOT(deviceConnected(QString))); connect(&manager, SIGNAL(deviceConnected(QString)), this, SLOT(receiveMessage(QString))); connect(&manager, SIGNAL(deviceConnected(QString)), this, SLOT(setTrayTooltip(QString))); connect(&manager, SIGNAL(deviceDisconnected()), this, SLOT(deviceDisconnect())); @@ -164,9 +182,9 @@ void MainWidget::createTrayIcon() trayIcon = new QSystemTrayIcon(this); trayIcon->setContextMenu(trayIconMenu); #ifndef Q_OS_WIN32 - trayIcon->setIcon(QIcon(":/main/resources/images/psv_icon.png")); + trayIcon->setIcon(QIcon(":/main/resources/images/psv_icon_dc.png")); #else - trayIcon->setIcon(QIcon(":/main/resources/images/psv_icon_16.png")); + trayIcon->setIcon(QIcon(":/main/resources/images/psv_icon_16_dc.png")); #endif trayIcon->show(); // try to avoid the iconTray Qt bug diff --git a/src/mainwidget.h b/src/mainwidget.h index d877a1e..605b26f 100644 --- a/src/mainwidget.h +++ b/src/mainwidget.h @@ -69,6 +69,7 @@ private slots: void openManager(); void showAboutQt(); void showAboutDialog(); + void deviceConnected(QString message); void deviceDisconnect(); void dialogResult(int result); void receiveMessage(QString message);