From 880f383569ed76781a3e77ccdc3f3986b304fbc9 Mon Sep 17 00:00:00 2001 From: FrzMtrsprt Date: Sat, 25 Feb 2023 23:53:24 +0800 Subject: [PATCH 1/3] fix: don't show tray message twice --- QtScrcpy/ui/dialog.cpp | 13 +++++++++---- QtScrcpy/util/config.cpp | 5 +++++ QtScrcpy/util/config.h | 1 + 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/QtScrcpy/ui/dialog.cpp b/QtScrcpy/ui/dialog.cpp index abc143f..b7f639c 100644 --- a/QtScrcpy/ui/dialog.cpp +++ b/QtScrcpy/ui/dialog.cpp @@ -272,10 +272,15 @@ void Dialog::slotActivated(QSystemTrayIcon::ActivationReason reason) void Dialog::closeEvent(QCloseEvent *event) { this->hide(); - m_hideIcon->showMessage(tr("Notice"), - tr("Hidden here!"), - QSystemTrayIcon::Information, - 3000); + UserBootConfig config = Config::getInstance().getUserBootConfig(); + if (!config.trayMessageShown) { + config.trayMessageShown = true; + m_hideIcon->showMessage(tr("Notice"), + tr("Hidden here!"), + QSystemTrayIcon::Information, + 3000); + } + Config::getInstance().setUserBootConfig(config); event->ignore(); } diff --git a/QtScrcpy/util/config.cpp b/QtScrcpy/util/config.cpp index 49eeb2a..92e5f89 100644 --- a/QtScrcpy/util/config.cpp +++ b/QtScrcpy/util/config.cpp @@ -93,6 +93,9 @@ #define COMMON_AUTO_UPDATE_DEVICE_KEY "AutoUpdateDevice" #define COMMON_AUTO_UPDATE_DEVICE_DEF true +#define COMMON_TRAY_MESSAGE_SHOWN_KEY "TrayMessageShown" +#define COMMON_TRAY_MESSAGE_SHOWN_DEF false + // device config #define SERIAL_WINDOW_RECT_KEY_X "WindowRectX" #define SERIAL_WINDOW_RECT_KEY_Y "WindowRectY" @@ -160,6 +163,7 @@ void Config::setUserBootConfig(const UserBootConfig &config) m_userData->setValue(COMMON_KEEP_ALIVE_KEY, config.keepAlive); m_userData->setValue(COMMON_SIMPLE_MODE_KEY, config.simpleMode); m_userData->setValue(COMMON_AUTO_UPDATE_DEVICE_KEY, config.autoUpdateDevice); + m_userData->setValue(COMMON_TRAY_MESSAGE_SHOWN_KEY, config.trayMessageShown); m_userData->endGroup(); m_userData->sync(); } @@ -183,6 +187,7 @@ UserBootConfig Config::getUserBootConfig() config.keepAlive = m_userData->value(COMMON_KEEP_ALIVE_KEY, COMMON_KEEP_ALIVE_DEF).toBool(); config.simpleMode = m_userData->value(COMMON_SIMPLE_MODE_KEY, COMMON_SIMPLE_MODE_DEF).toBool(); config.autoUpdateDevice = m_userData->value(COMMON_AUTO_UPDATE_DEVICE_KEY, COMMON_AUTO_UPDATE_DEVICE_DEF).toBool(); + config.trayMessageShown = m_userData->value(COMMON_TRAY_MESSAGE_SHOWN_KEY, COMMON_TRAY_MESSAGE_SHOWN_DEF).toBool(); m_userData->endGroup(); return config; } diff --git a/QtScrcpy/util/config.h b/QtScrcpy/util/config.h index 137e375..de21eb0 100644 --- a/QtScrcpy/util/config.h +++ b/QtScrcpy/util/config.h @@ -22,6 +22,7 @@ struct UserBootConfig bool keepAlive = false; bool simpleMode = false; bool autoUpdateDevice = true; + bool trayMessageShown = false; }; class QSettings; From a51a737ab72b34d7dcf039a5431dbffb16008dac Mon Sep 17 00:00:00 2001 From: FrzMtrsprt Date: Sun, 26 Feb 2023 00:22:43 +0800 Subject: [PATCH 2/3] fix: save tray message shown status --- QtScrcpy/ui/dialog.cpp | 5 ++--- QtScrcpy/util/config.cpp | 19 +++++++++++++++++-- QtScrcpy/util/config.h | 3 ++- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/QtScrcpy/ui/dialog.cpp b/QtScrcpy/ui/dialog.cpp index b7f639c..275f061 100644 --- a/QtScrcpy/ui/dialog.cpp +++ b/QtScrcpy/ui/dialog.cpp @@ -272,9 +272,8 @@ void Dialog::slotActivated(QSystemTrayIcon::ActivationReason reason) void Dialog::closeEvent(QCloseEvent *event) { this->hide(); - UserBootConfig config = Config::getInstance().getUserBootConfig(); - if (!config.trayMessageShown) { - config.trayMessageShown = true; + if (!Config::getInstance().getTrayMessageShown()) { + Config::getInstance().setTrayMessageShown(true); m_hideIcon->showMessage(tr("Notice"), tr("Hidden here!"), QSystemTrayIcon::Information, diff --git a/QtScrcpy/util/config.cpp b/QtScrcpy/util/config.cpp index 92e5f89..58b5fbc 100644 --- a/QtScrcpy/util/config.cpp +++ b/QtScrcpy/util/config.cpp @@ -163,7 +163,6 @@ void Config::setUserBootConfig(const UserBootConfig &config) m_userData->setValue(COMMON_KEEP_ALIVE_KEY, config.keepAlive); m_userData->setValue(COMMON_SIMPLE_MODE_KEY, config.simpleMode); m_userData->setValue(COMMON_AUTO_UPDATE_DEVICE_KEY, config.autoUpdateDevice); - m_userData->setValue(COMMON_TRAY_MESSAGE_SHOWN_KEY, config.trayMessageShown); m_userData->endGroup(); m_userData->sync(); } @@ -187,11 +186,27 @@ UserBootConfig Config::getUserBootConfig() config.keepAlive = m_userData->value(COMMON_KEEP_ALIVE_KEY, COMMON_KEEP_ALIVE_DEF).toBool(); config.simpleMode = m_userData->value(COMMON_SIMPLE_MODE_KEY, COMMON_SIMPLE_MODE_DEF).toBool(); config.autoUpdateDevice = m_userData->value(COMMON_AUTO_UPDATE_DEVICE_KEY, COMMON_AUTO_UPDATE_DEVICE_DEF).toBool(); - config.trayMessageShown = m_userData->value(COMMON_TRAY_MESSAGE_SHOWN_KEY, COMMON_TRAY_MESSAGE_SHOWN_DEF).toBool(); m_userData->endGroup(); return config; } +void Config::setTrayMessageShown(bool shown) +{ + m_userData->beginGroup(GROUP_COMMON); + m_userData->setValue(COMMON_TRAY_MESSAGE_SHOWN_KEY, shown); + m_userData->endGroup(); + m_userData->sync(); +} + +bool Config::getTrayMessageShown() +{ + bool shown; + m_userData->beginGroup(GROUP_COMMON); + shown = m_userData->value(COMMON_TRAY_MESSAGE_SHOWN_KEY, COMMON_TRAY_MESSAGE_SHOWN_DEF).toBool(); + m_userData->endGroup(); + return shown; +} + void Config::setRect(const QString &serial, const QRect &rc) { m_userData->beginGroup(serial); diff --git a/QtScrcpy/util/config.h b/QtScrcpy/util/config.h index de21eb0..1f55126 100644 --- a/QtScrcpy/util/config.h +++ b/QtScrcpy/util/config.h @@ -22,7 +22,6 @@ struct UserBootConfig bool keepAlive = false; bool simpleMode = false; bool autoUpdateDevice = true; - bool trayMessageShown = false; }; class QSettings; @@ -51,6 +50,8 @@ public: // user data:common void setUserBootConfig(const UserBootConfig &config); UserBootConfig getUserBootConfig(); + void setTrayMessageShown(bool shown); + bool getTrayMessageShown(); // user data:device void setNickName(const QString &serial, const QString &name); From 7118faab0466b65281047ac6c8bbb181f7a7b021 Mon Sep 17 00:00:00 2001 From: FrzMtrsprt Date: Sun, 26 Feb 2023 00:31:33 +0800 Subject: [PATCH 3/3] fix: build --- QtScrcpy/ui/dialog.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/QtScrcpy/ui/dialog.cpp b/QtScrcpy/ui/dialog.cpp index 275f061..c10d81b 100644 --- a/QtScrcpy/ui/dialog.cpp +++ b/QtScrcpy/ui/dialog.cpp @@ -279,7 +279,6 @@ void Dialog::closeEvent(QCloseEvent *event) QSystemTrayIcon::Information, 3000); } - Config::getInstance().setUserBootConfig(config); event->ignore(); }