mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-02-02 01:25:13 -05:00
Added dark tray icon parameter to settings.
This commit is contained in:
parent
f80b5af432
commit
55271311c4
@ -16,6 +16,7 @@ LastOpenedDatabases=@Invalid()
|
||||
[GUI]
|
||||
Language=system
|
||||
ShowTrayIcon=false
|
||||
DarkTrayIcon=false
|
||||
MinimizeToTray=false
|
||||
MinimizeOnClose=false
|
||||
MinimizeOnStartup=false
|
||||
|
@ -98,6 +98,15 @@ QIcon FilePath::applicationIcon()
|
||||
#endif
|
||||
}
|
||||
|
||||
QIcon FilePath::applicationIconDark()
|
||||
{
|
||||
#ifdef KEEPASSXC_DIST_SNAP
|
||||
return icon("apps", "keepassxc-dark", false);
|
||||
#else
|
||||
return icon("apps", "keepassxc-dark");
|
||||
#endif
|
||||
}
|
||||
|
||||
QIcon FilePath::trayIconLocked()
|
||||
{
|
||||
#ifdef KEEPASSXC_DIST_SNAP
|
||||
@ -116,6 +125,15 @@ QIcon FilePath::trayIconUnlocked()
|
||||
#endif
|
||||
}
|
||||
|
||||
QIcon FilePath::trayIconUnlockedDark()
|
||||
{
|
||||
#ifdef KEEPASSXC_DIST_SNAP
|
||||
return icon("apps", "keepassxc-dark", false);
|
||||
#else
|
||||
return icon("apps", "keepassxc-dark");
|
||||
#endif
|
||||
}
|
||||
|
||||
QIcon FilePath::icon(const QString& category, const QString& name, bool fromTheme)
|
||||
{
|
||||
QString combinedName = category + "/" + name;
|
||||
|
@ -28,8 +28,10 @@ public:
|
||||
QString dataPath(const QString& name);
|
||||
QString pluginPath(const QString& name);
|
||||
QIcon applicationIcon();
|
||||
QIcon applicationIconDark();
|
||||
QIcon trayIconLocked();
|
||||
QIcon trayIconUnlocked();
|
||||
QIcon trayIconUnlockedDark();
|
||||
QIcon icon(const QString& category, const QString& name, bool fromTheme = true);
|
||||
QIcon onOffIcon(const QString& category, const QString& name);
|
||||
|
||||
|
@ -773,9 +773,10 @@ bool MainWindow::saveLastDatabases()
|
||||
void MainWindow::updateTrayIcon()
|
||||
{
|
||||
if (isTrayIconEnabled()) {
|
||||
bool darkIcon = config()->get("GUI/DarkTrayIcon").toBool();
|
||||
|
||||
if (!m_trayIcon) {
|
||||
m_trayIcon = new QSystemTrayIcon(this);
|
||||
|
||||
QMenu* menu = new QMenu(this);
|
||||
|
||||
QAction* actionToggle = new QAction(tr("Toggle window"), menu);
|
||||
@ -795,11 +796,21 @@ void MainWindow::updateTrayIcon()
|
||||
connect(actionToggle, SIGNAL(triggered()), SLOT(toggleWindow()));
|
||||
|
||||
m_trayIcon->setContextMenu(menu);
|
||||
m_trayIcon->setIcon(filePath()->applicationIcon());
|
||||
|
||||
if(darkIcon){
|
||||
m_trayIcon->setIcon(filePath()->applicationIconDark());
|
||||
} else {
|
||||
m_trayIcon->setIcon(filePath()->applicationIcon());
|
||||
}
|
||||
|
||||
m_trayIcon->show();
|
||||
}
|
||||
if (m_ui->tabWidget->hasLockableDatabases()) {
|
||||
m_trayIcon->setIcon(filePath()->trayIconUnlocked());
|
||||
if(darkIcon){
|
||||
m_trayIcon->setIcon(filePath()->trayIconUnlockedDark());
|
||||
} else {
|
||||
m_trayIcon->setIcon(filePath()->trayIconUnlocked());
|
||||
}
|
||||
}
|
||||
else {
|
||||
m_trayIcon->setIcon(filePath()->trayIconLocked());
|
||||
|
@ -136,6 +136,7 @@ void SettingsWidget::loadSettings()
|
||||
|
||||
m_generalUi->detailsHideCheckBox->setChecked(config()->get("GUI/HideDetailsView").toBool());
|
||||
m_generalUi->systrayShowCheckBox->setChecked(config()->get("GUI/ShowTrayIcon").toBool());
|
||||
m_generalUi->systrayDarkIconCheckBox->setChecked(config()->get("GUI/DarkTrayIcon").toBool());
|
||||
m_generalUi->systrayMinimizeToTrayCheckBox->setChecked(config()->get("GUI/MinimizeToTray").toBool());
|
||||
m_generalUi->systrayMinimizeOnCloseCheckBox->setChecked(config()->get("GUI/MinimizeOnClose").toBool());
|
||||
m_generalUi->systrayMinimizeOnStartup->setChecked(config()->get("GUI/MinimizeOnStartup").toBool());
|
||||
@ -208,6 +209,7 @@ void SettingsWidget::saveSettings()
|
||||
|
||||
config()->set("GUI/HideDetailsView", m_generalUi->detailsHideCheckBox->isChecked());
|
||||
config()->set("GUI/ShowTrayIcon", m_generalUi->systrayShowCheckBox->isChecked());
|
||||
config()->set("GUI/DarkTrayIcon", m_generalUi->systrayDarkIconCheckBox->isChecked());
|
||||
config()->set("GUI/MinimizeToTray", m_generalUi->systrayMinimizeToTrayCheckBox->isChecked());
|
||||
config()->set("GUI/MinimizeOnClose", m_generalUi->systrayMinimizeOnCloseCheckBox->isChecked());
|
||||
config()->set("GUI/MinimizeOnStartup", m_generalUi->systrayMinimizeOnStartup->isChecked());
|
||||
@ -265,6 +267,7 @@ void SettingsWidget::enableAutoSaveOnExit(bool checked)
|
||||
|
||||
void SettingsWidget::enableSystray(bool checked)
|
||||
{
|
||||
m_generalUi->systrayDarkIconCheckBox->setEnabled(checked);
|
||||
m_generalUi->systrayMinimizeToTrayCheckBox->setEnabled(checked);
|
||||
m_generalUi->systrayMinimizeOnCloseCheckBox->setEnabled(checked);
|
||||
}
|
||||
|
@ -245,6 +245,42 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetMaximumSize</enum>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="systrayDarkIconCheckBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Dark system tray icon</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
Loading…
x
Reference in New Issue
Block a user