From cca93c2be22419a25f9b0cd9e4c97f17407c0f94 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Tue, 14 Dec 2021 14:38:31 +0800 Subject: [PATCH] Show GUI lock icon after system tray icon is initialized --- src/gui/mainwindow.cpp | 10 +++++++--- src/gui/mainwindow.h | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 1b0f3d6d6..0d7b7ebbf 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -177,6 +177,10 @@ MainWindow::MainWindow(QWidget *parent) lockMenu->addAction(tr("&Set Password"), this, &MainWindow::defineUILockPassword); lockMenu->addAction(tr("&Clear Password"), this, &MainWindow::clearUILockPassword); m_ui->actionLock->setMenu(lockMenu); + connect(this, &MainWindow::systemTrayIconCreated, this, [this]() + { + m_ui->actionLock->setVisible(true); + }); // Creating Bittorrent session updateAltSpeedsBtn(BitTorrent::Session::instance()->isAltGlobalSpeedLimitEnabled()); @@ -1484,9 +1488,7 @@ void MainWindow::loadPreferences() #ifndef Q_OS_MACOS // system tray icon - const bool useSystray = pref->systemTrayEnabled(); - m_ui->actionLock->setVisible(useSystray); - if (useSystray) + if (pref->systemTrayEnabled()) { if (m_systrayIcon) { @@ -1502,6 +1504,7 @@ void MainWindow::loadPreferences() { delete m_systrayIcon; delete m_trayIconMenu; + m_ui->actionLock->setVisible(false); } #endif @@ -1713,6 +1716,7 @@ void MainWindow::createTrayIcon(const int retries) connect(m_systrayIcon, &QSystemTrayIcon::messageClicked, this, &MainWindow::balloonClicked); m_systrayIcon->show(); + emit systemTrayIconCreated(); } else { diff --git a/src/gui/mainwindow.h b/src/gui/mainwindow.h index 075a8408d..48c27a8d6 100644 --- a/src/gui/mainwindow.h +++ b/src/gui/mainwindow.h @@ -108,6 +108,9 @@ public: void showNotificationBalloon(const QString &title, const QString &msg) const; +signals: + void systemTrayIconCreated(); + private slots: void showFilterContextMenu(const QPoint &); void balloonClicked();