refactor: Allow for colorful tray icon but fall back to symbolic with fallback
This commit is contained in:
parent
eee4efd59d
commit
14fa29505d
6 changed files with 61 additions and 3 deletions
|
|
@ -115,8 +115,8 @@ QVariant Settings::defaultValue(const QString &key)
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((key == Core::UseHooks) || (key == Gui::CloseToTray) || (key == Gui::LogExpanded) ||
|
if ((key == Core::UseHooks) || (key == Gui::CloseToTray) || (key == Gui::LogExpanded) ||
|
||||||
(key == Gui::CloseReminder) || (key == Security::TlsEnabled) || (key == Security::CheckPeers) ||
|
(key == Gui::SymbolicTrayIcon) || (key == Gui::CloseReminder) || (key == Security::TlsEnabled) ||
|
||||||
(key == Client::LanguageSync) || (key == Gui::ShowGenericClientFailureDialog)) {
|
(key == Security::CheckPeers) || (key == Client::LanguageSync) || (key == Gui::ShowGenericClientFailureDialog)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,7 @@ public:
|
||||||
inline static const auto CloseReminder = QStringLiteral("gui/closeReminder");
|
inline static const auto CloseReminder = QStringLiteral("gui/closeReminder");
|
||||||
inline static const auto CloseToTray = QStringLiteral("gui/closeToTray");
|
inline static const auto CloseToTray = QStringLiteral("gui/closeToTray");
|
||||||
inline static const auto LogExpanded = QStringLiteral("gui/logExpanded");
|
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 WindowGeometry = QStringLiteral("gui/windowGeometry");
|
||||||
inline static const auto ShowGenericClientFailureDialog = QStringLiteral("gui/showGenericClientFailureDialog");
|
inline static const auto ShowGenericClientFailureDialog = QStringLiteral("gui/showGenericClientFailureDialog");
|
||||||
};
|
};
|
||||||
|
|
@ -189,6 +190,7 @@ private:
|
||||||
, Settings::Gui::CloseReminder
|
, Settings::Gui::CloseReminder
|
||||||
, Settings::Gui::CloseToTray
|
, Settings::Gui::CloseToTray
|
||||||
, Settings::Gui::LogExpanded
|
, Settings::Gui::LogExpanded
|
||||||
|
, Settings::Gui::SymbolicTrayIcon
|
||||||
, Settings::Gui::WindowGeometry
|
, Settings::Gui::WindowGeometry
|
||||||
, Settings::Gui::ShowGenericClientFailureDialog
|
, Settings::Gui::ShowGenericClientFailureDialog
|
||||||
, Settings::Security::Certificate
|
, Settings::Security::Certificate
|
||||||
|
|
|
||||||
|
|
@ -753,8 +753,16 @@ void MainWindow::saveSettings() const
|
||||||
|
|
||||||
void MainWindow::setTrayIcon()
|
void MainWindow::setTrayIcon()
|
||||||
{
|
{
|
||||||
static const auto themeIcon = QStringLiteral("%1-symbolic").arg(kRevFqdnName);
|
|
||||||
static const auto fallbackPath = QStringLiteral(":/icons/%1-%2/apps/64/%3");
|
static const auto fallbackPath = QStringLiteral(":/icons/%1-%2/apps/64/%3");
|
||||||
|
|
||||||
|
QString themeIcon = kRevFqdnName;
|
||||||
|
if (!Settings::value(Settings::Gui::SymbolicTrayIcon).toBool()) {
|
||||||
|
m_trayIcon->setIcon(QIcon(fallbackPath.arg(kAppId, QStringLiteral("dark"), themeIcon)));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
themeIcon.append(QStringLiteral("-symbolic"));
|
||||||
|
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
QSettings settings(
|
QSettings settings(
|
||||||
QStringLiteral("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"),
|
QStringLiteral("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"),
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,9 @@ SettingsDialog::SettingsDialog(QWidget *parent, const IServerConfig &serverConfi
|
||||||
ui->comboTlsKeyLength->setItemIcon(1, QIcon::fromTheme(QIcon::ThemeIcon::SecurityHigh));
|
ui->comboTlsKeyLength->setItemIcon(1, QIcon::fromTheme(QIcon::ThemeIcon::SecurityHigh));
|
||||||
ui->lblTlsCertInfo->setFixedSize(28, 28);
|
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
|
// 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.
|
// the developer was looking at, and it's easy to accidentally save that.
|
||||||
ui->tabWidget->setCurrentIndex(0);
|
ui->tabWidget->setCurrentIndex(0);
|
||||||
|
|
@ -170,6 +173,7 @@ void SettingsDialog::accept()
|
||||||
Settings::setValue(Settings::Client::LanguageSync, ui->cbLanguageSync->isChecked());
|
Settings::setValue(Settings::Client::LanguageSync, ui->cbLanguageSync->isChecked());
|
||||||
Settings::setValue(Settings::Client::InvertScrollDirection, ui->cbScrollDirection->isChecked());
|
Settings::setValue(Settings::Client::InvertScrollDirection, ui->cbScrollDirection->isChecked());
|
||||||
Settings::setValue(Settings::Gui::CloseToTray, ui->cbCloseToTray->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::Security::CheckPeers, ui->cbRequireClientCert->isChecked());
|
||||||
Settings::setValue(Settings::Client::ScrollSpeed, ui->sbScrollSpeed->value());
|
Settings::setValue(Settings::Client::ScrollSpeed, ui->sbScrollSpeed->value());
|
||||||
Settings::setValue(Settings::Core::Language, ui->comboLanguage->currentText());
|
Settings::setValue(Settings::Core::Language, ui->comboLanguage->currentText());
|
||||||
|
|
@ -207,6 +211,11 @@ void SettingsDialog::loadFromConfig()
|
||||||
ui->groupService->setVisible(false);
|
ui->groupService->setVisible(false);
|
||||||
#endif
|
#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);
|
ui->lblDebugWarning->setVisible(Settings::value(Settings::Log::Level).toInt() > 4);
|
||||||
|
|
||||||
qDebug() << "load from config done";
|
qDebug() << "load from config done";
|
||||||
|
|
|
||||||
|
|
@ -132,6 +132,31 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="lblTrayIconStyle">
|
||||||
|
<property name="text">
|
||||||
|
<string>Tray icon style</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="rbIconColorful">
|
||||||
|
<property name="text">
|
||||||
|
<string>Colorful</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="rbIconMono">
|
||||||
|
<property name="text">
|
||||||
|
<string>Monocolor</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|
@ -668,6 +693,8 @@
|
||||||
<tabstop>cbScrollDirection</tabstop>
|
<tabstop>cbScrollDirection</tabstop>
|
||||||
<tabstop>cbAutoUpdate</tabstop>
|
<tabstop>cbAutoUpdate</tabstop>
|
||||||
<tabstop>cbCloseToTray</tabstop>
|
<tabstop>cbCloseToTray</tabstop>
|
||||||
|
<tabstop>rbIconColorful</tabstop>
|
||||||
|
<tabstop>rbIconMono</tabstop>
|
||||||
<tabstop>groupSecurity</tabstop>
|
<tabstop>groupSecurity</tabstop>
|
||||||
<tabstop>lineTlsCertPath</tabstop>
|
<tabstop>lineTlsCertPath</tabstop>
|
||||||
<tabstop>btnTlsCertPath</tabstop>
|
<tabstop>btnTlsCertPath</tabstop>
|
||||||
|
|
|
||||||
|
|
@ -1079,6 +1079,18 @@ Al habilitar esta opción, se deshabilitará la interfaz gráfica de usuario (GU
|
||||||
<source>Leave app running in notification area when the window is closed</source>
|
<source>Leave app running in notification area when the window is closed</source>
|
||||||
<translation type="unfinished">Dejar la aplicación ejecutándose en el área de notificación cuando la ventana esté cerrada</translation>
|
<translation type="unfinished">Dejar la aplicación ejecutándose en el área de notificación cuando la ventana esté cerrada</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Tray icon style</source>
|
||||||
|
<translation type="unfinished">Estilo de icono de bandeja</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Colorful</source>
|
||||||
|
<translation type="unfinished">Vistoso</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Monocolor</source>
|
||||||
|
<translation type="unfinished">Monocolor</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Enable TLS Encryption</source>
|
<source>Enable TLS Encryption</source>
|
||||||
<translation type="unfinished">Habilitar el cifrado TLS</translation>
|
<translation type="unfinished">Habilitar el cifrado TLS</translation>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue