From eee4efd59dc52ad936627f64e533eb34b02e88be Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Wed, 29 Oct 2025 12:01:04 -0400 Subject: [PATCH] refactor: Only use symbolic tray icon --- src/lib/common/Settings.cpp | 4 ++-- src/lib/common/Settings.h | 2 -- src/lib/gui/MainWindow.cpp | 22 ++++++--------------- src/lib/gui/dialogs/SettingsDialog.cpp | 9 --------- src/lib/gui/dialogs/SettingsDialog.ui | 27 -------------------------- translations/deskflow_es.ts | 12 ------------ 6 files changed, 8 insertions(+), 68 deletions(-) diff --git a/src/lib/common/Settings.cpp b/src/lib/common/Settings.cpp index e2051873d..2f38efbd0 100644 --- a/src/lib/common/Settings.cpp +++ b/src/lib/common/Settings.cpp @@ -115,8 +115,8 @@ QVariant Settings::defaultValue(const QString &key) } if ((key == Core::UseHooks) || (key == Gui::CloseToTray) || (key == Gui::LogExpanded) || - (key == Gui::SymbolicTrayIcon) || (key == Gui::CloseReminder) || (key == Security::TlsEnabled) || - (key == Security::CheckPeers) || (key == Client::LanguageSync) || (key == Gui::ShowGenericClientFailureDialog)) { + (key == Gui::CloseReminder) || (key == Security::TlsEnabled) || (key == Security::CheckPeers) || + (key == Client::LanguageSync) || (key == Gui::ShowGenericClientFailureDialog)) { return true; } diff --git a/src/lib/common/Settings.h b/src/lib/common/Settings.h index 1067a0bfb..9e8cf3f8f 100644 --- a/src/lib/common/Settings.h +++ b/src/lib/common/Settings.h @@ -69,7 +69,6 @@ public: inline static const auto CloseReminder = QStringLiteral("gui/closeReminder"); inline static const auto CloseToTray = QStringLiteral("gui/closeToTray"); inline static const auto LogExpanded = QStringLiteral("gui/logExpanded"); - inline static const auto SymbolicTrayIcon = QStringLiteral("gui/symbolicTrayIcon"); inline static const auto WindowGeometry = QStringLiteral("gui/windowGeometry"); inline static const auto ShowGenericClientFailureDialog = QStringLiteral("gui/showGenericClientFailureDialog"); }; @@ -190,7 +189,6 @@ private: , Settings::Gui::CloseReminder , Settings::Gui::CloseToTray , Settings::Gui::LogExpanded - , Settings::Gui::SymbolicTrayIcon , Settings::Gui::WindowGeometry , Settings::Gui::ShowGenericClientFailureDialog , Settings::Security::Certificate diff --git a/src/lib/gui/MainWindow.cpp b/src/lib/gui/MainWindow.cpp index dae475cb2..a9cc0123a 100644 --- a/src/lib/gui/MainWindow.cpp +++ b/src/lib/gui/MainWindow.cpp @@ -753,17 +753,8 @@ void MainWindow::saveSettings() const void MainWindow::setTrayIcon() { - QString iconString = kRevFqdnName; - - if (deskflow::platform::isSandboxed()) { - iconString = QStringLiteral(":/icons/%1-%2/apps/64/%3").arg(kAppId, iconMode(), kRevFqdnName); - } - - if (!Settings::value(Settings::Gui::SymbolicTrayIcon).toBool()) { - m_trayIcon->setIcon(QIcon::fromTheme(iconString)); - return; - } - + static const auto themeIcon = QStringLiteral("%1-symbolic").arg(kRevFqdnName); + static const auto fallbackPath = QStringLiteral(":/icons/%1-%2/apps/64/%3"); #ifdef Q_OS_WIN QSettings settings( QStringLiteral("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"), @@ -771,13 +762,12 @@ void MainWindow::setTrayIcon() ); const QString theme = settings.value(QStringLiteral("SystemUsesLightTheme"), 1).toBool() ? QStringLiteral("light") : QStringLiteral("dark"); - iconString = QStringLiteral(":/icons/deskflow-%1/apps/64/%2").arg(theme, kRevFqdnName); -#endif - - iconString.append(QStringLiteral("-symbolic")); - auto icon = QIcon::fromTheme(iconString); + m_trayIcon->setIcon(QIcon(fallbackPath.arg(kAppId, theme, themeIcon))); +#else + auto icon = QIcon::fromTheme(themeIcon, QIcon(fallbackPath.arg(kAppId, iconMode(), themeIcon))); icon.setIsMask(true); m_trayIcon->setIcon(icon); +#endif } void MainWindow::handleLogLine(const QString &line) diff --git a/src/lib/gui/dialogs/SettingsDialog.cpp b/src/lib/gui/dialogs/SettingsDialog.cpp index 62a2f81e1..ea5fabeb6 100644 --- a/src/lib/gui/dialogs/SettingsDialog.cpp +++ b/src/lib/gui/dialogs/SettingsDialog.cpp @@ -44,9 +44,6 @@ SettingsDialog::SettingsDialog(QWidget *parent, const IServerConfig &serverConfi ui->comboTlsKeyLength->setItemIcon(1, QIcon::fromTheme(QIcon::ThemeIcon::SecurityHigh)); ui->lblTlsCertInfo->setFixedSize(28, 28); - ui->rbIconMono->setIcon(QIcon::fromTheme(QStringLiteral("%1-symbolic").arg(kRevFqdnName))); - ui->rbIconColorful->setIcon(QIcon::fromTheme(kRevFqdnName)); - // force the first tab, since qt creator sets the active tab as the last one // the developer was looking at, and it's easy to accidentally save that. ui->tabWidget->setCurrentIndex(0); @@ -173,7 +170,6 @@ void SettingsDialog::accept() Settings::setValue(Settings::Client::LanguageSync, ui->cbLanguageSync->isChecked()); Settings::setValue(Settings::Client::InvertScrollDirection, ui->cbScrollDirection->isChecked()); Settings::setValue(Settings::Gui::CloseToTray, ui->cbCloseToTray->isChecked()); - Settings::setValue(Settings::Gui::SymbolicTrayIcon, ui->rbIconMono->isChecked()); Settings::setValue(Settings::Security::CheckPeers, ui->cbRequireClientCert->isChecked()); Settings::setValue(Settings::Client::ScrollSpeed, ui->sbScrollSpeed->value()); Settings::setValue(Settings::Core::Language, ui->comboLanguage->currentText()); @@ -211,11 +207,6 @@ void SettingsDialog::loadFromConfig() ui->groupService->setVisible(false); #endif - if (Settings::value(Settings::Gui::SymbolicTrayIcon).toBool()) - ui->rbIconMono->setChecked(true); - else - ui->rbIconColorful->setChecked(true); - ui->lblDebugWarning->setVisible(Settings::value(Settings::Log::Level).toInt() > 4); qDebug() << "load from config done"; diff --git a/src/lib/gui/dialogs/SettingsDialog.ui b/src/lib/gui/dialogs/SettingsDialog.ui index bf831c806..3030c6ca1 100644 --- a/src/lib/gui/dialogs/SettingsDialog.ui +++ b/src/lib/gui/dialogs/SettingsDialog.ui @@ -132,31 +132,6 @@ - - - - - - Tray icon style - - - - - - - Colorful - - - - - - - Monocolor - - - - - @@ -693,8 +668,6 @@ cbScrollDirection cbAutoUpdate cbCloseToTray - rbIconColorful - rbIconMono groupSecurity lineTlsCertPath btnTlsCertPath diff --git a/translations/deskflow_es.ts b/translations/deskflow_es.ts index e21126957..d61f79856 100644 --- a/translations/deskflow_es.ts +++ b/translations/deskflow_es.ts @@ -1079,18 +1079,6 @@ Al habilitar esta opción, se deshabilitará la interfaz gráfica de usuario (GU Leave app running in notification area when the window is closed Dejar la aplicación ejecutándose en el área de notificación cuando la ventana esté cerrada - - Tray icon style - Estilo de icono de bandeja - - - Colorful - Vistoso - - - Monocolor - Monocolor - Enable TLS Encryption Habilitar el cifrado TLS