Merge pull request #770 from FrzMtrsprt/kill_tray_message

fix: don't show tray message twice
This commit is contained in:
Barry 2023-03-20 12:07:27 +08:00 committed by GitHub
commit cec31a6f67
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 4 deletions

View file

@ -272,10 +272,13 @@ void Dialog::slotActivated(QSystemTrayIcon::ActivationReason reason)
void Dialog::closeEvent(QCloseEvent *event) void Dialog::closeEvent(QCloseEvent *event)
{ {
this->hide(); this->hide();
m_hideIcon->showMessage(tr("Notice"), if (!Config::getInstance().getTrayMessageShown()) {
tr("Hidden here!"), Config::getInstance().setTrayMessageShown(true);
QSystemTrayIcon::Information, m_hideIcon->showMessage(tr("Notice"),
3000); tr("Hidden here!"),
QSystemTrayIcon::Information,
3000);
}
event->ignore(); event->ignore();
} }

View file

@ -93,6 +93,9 @@
#define COMMON_AUTO_UPDATE_DEVICE_KEY "AutoUpdateDevice" #define COMMON_AUTO_UPDATE_DEVICE_KEY "AutoUpdateDevice"
#define COMMON_AUTO_UPDATE_DEVICE_DEF true #define COMMON_AUTO_UPDATE_DEVICE_DEF true
#define COMMON_TRAY_MESSAGE_SHOWN_KEY "TrayMessageShown"
#define COMMON_TRAY_MESSAGE_SHOWN_DEF false
// device config // device config
#define SERIAL_WINDOW_RECT_KEY_X "WindowRectX" #define SERIAL_WINDOW_RECT_KEY_X "WindowRectX"
#define SERIAL_WINDOW_RECT_KEY_Y "WindowRectY" #define SERIAL_WINDOW_RECT_KEY_Y "WindowRectY"
@ -187,6 +190,23 @@ UserBootConfig Config::getUserBootConfig()
return config; 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) void Config::setRect(const QString &serial, const QRect &rc)
{ {
m_userData->beginGroup(serial); m_userData->beginGroup(serial);

View file

@ -50,6 +50,8 @@ public:
// user data:common // user data:common
void setUserBootConfig(const UserBootConfig &config); void setUserBootConfig(const UserBootConfig &config);
UserBootConfig getUserBootConfig(); UserBootConfig getUserBootConfig();
void setTrayMessageShown(bool shown);
bool getTrayMessageShown();
// user data:device // user data:device
void setNickName(const QString &serial, const QString &name); void setNickName(const QString &serial, const QString &name);