mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-02-04 08:55:31 -05:00
Fix loading of tray icon appearance setting.
The tray icon appearance setting is null by default, since we do not want to include OSUtils into Config. As a result, we must take special care to preselect the correct combo box entry on the settings page.
This commit is contained in:
parent
a91358e7bf
commit
e36cba703e
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
Resources* Resources::m_instance(nullptr);
|
Resources* Resources::m_instance(nullptr);
|
||||||
|
|
||||||
QString Resources::dataPath(const QString& name)
|
QString Resources::dataPath(const QString& name) const
|
||||||
{
|
{
|
||||||
if (name.isEmpty() || name.startsWith('/')) {
|
if (name.isEmpty() || name.startsWith('/')) {
|
||||||
return m_dataPath + name;
|
return m_dataPath + name;
|
||||||
@ -40,7 +40,7 @@ QString Resources::dataPath(const QString& name)
|
|||||||
return m_dataPath + "/" + name;
|
return m_dataPath + "/" + name;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Resources::pluginPath(const QString& name)
|
QString Resources::pluginPath(const QString& name) const
|
||||||
{
|
{
|
||||||
QStringList pluginPaths;
|
QStringList pluginPaths;
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ QString Resources::pluginPath(const QString& name)
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Resources::wordlistPath(const QString& name)
|
QString Resources::wordlistPath(const QString& name) const
|
||||||
{
|
{
|
||||||
return dataPath(QStringLiteral("wordlists/%1").arg(name));
|
return dataPath(QStringLiteral("wordlists/%1").arg(name));
|
||||||
}
|
}
|
||||||
@ -101,7 +101,7 @@ QIcon Resources::applicationIcon()
|
|||||||
return icon("keepassxc", false);
|
return icon("keepassxc", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Resources::getTrayIconAppearance() const
|
QString Resources::trayIconAppearance() const
|
||||||
{
|
{
|
||||||
auto iconAppearance = config()->get(Config::GUI_TrayIconAppearance).toString();
|
auto iconAppearance = config()->get(Config::GUI_TrayIconAppearance).toString();
|
||||||
if (iconAppearance.isNull()) {
|
if (iconAppearance.isNull()) {
|
||||||
@ -121,7 +121,7 @@ QIcon Resources::trayIcon()
|
|||||||
|
|
||||||
QIcon Resources::trayIconLocked()
|
QIcon Resources::trayIconLocked()
|
||||||
{
|
{
|
||||||
auto iconApperance = getTrayIconAppearance();
|
auto iconApperance = trayIconAppearance();
|
||||||
|
|
||||||
if (iconApperance == "monochrome-light") {
|
if (iconApperance == "monochrome-light") {
|
||||||
return icon("keepassxc-monochrome-light-locked", false);
|
return icon("keepassxc-monochrome-light-locked", false);
|
||||||
@ -134,7 +134,7 @@ QIcon Resources::trayIconLocked()
|
|||||||
|
|
||||||
QIcon Resources::trayIconUnlocked()
|
QIcon Resources::trayIconUnlocked()
|
||||||
{
|
{
|
||||||
auto iconApperance = getTrayIconAppearance();
|
auto iconApperance = trayIconAppearance();
|
||||||
|
|
||||||
if (iconApperance == "monochrome-light") {
|
if (iconApperance == "monochrome-light") {
|
||||||
return icon("keepassxc-monochrome-light", false);
|
return icon("keepassxc-monochrome-light", false);
|
||||||
|
@ -27,20 +27,20 @@
|
|||||||
class Resources
|
class Resources
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
QString dataPath(const QString& name);
|
QString dataPath(const QString& name) const;
|
||||||
QString pluginPath(const QString& name);
|
QString pluginPath(const QString& name) const;
|
||||||
QString wordlistPath(const QString& name);
|
QString wordlistPath(const QString& name) const;
|
||||||
QIcon applicationIcon();
|
QIcon applicationIcon();
|
||||||
QIcon trayIcon();
|
QIcon trayIcon();
|
||||||
QIcon trayIconLocked();
|
QIcon trayIconLocked();
|
||||||
QIcon trayIconUnlocked();
|
QIcon trayIconUnlocked();
|
||||||
|
QString trayIconAppearance() const;
|
||||||
QIcon icon(const QString& name, bool recolor = true, const QColor& overrideColor = QColor::Invalid);
|
QIcon icon(const QString& name, bool recolor = true, const QColor& overrideColor = QColor::Invalid);
|
||||||
QIcon onOffIcon(const QString& name, bool recolor = true);
|
QIcon onOffIcon(const QString& name, bool recolor = true);
|
||||||
|
|
||||||
static Resources* instance();
|
static Resources* instance();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString getTrayIconAppearance() const;
|
|
||||||
Resources();
|
Resources();
|
||||||
bool testResourceDir(const QString& dir);
|
bool testResourceDir(const QString& dir);
|
||||||
|
|
||||||
|
@ -217,10 +217,10 @@ void ApplicationSettingsWidget::loadSettings()
|
|||||||
m_generalUi->monospaceNotesCheckBox->setChecked(config()->get(Config::GUI_MonospaceNotes).toBool());
|
m_generalUi->monospaceNotesCheckBox->setChecked(config()->get(Config::GUI_MonospaceNotes).toBool());
|
||||||
|
|
||||||
m_generalUi->appThemeSelection->clear();
|
m_generalUi->appThemeSelection->clear();
|
||||||
m_generalUi->appThemeSelection->addItem(tr("Automatic"), QStringLiteral("auto"));
|
m_generalUi->appThemeSelection->addItem(tr("Automatic"), "auto");
|
||||||
m_generalUi->appThemeSelection->addItem(tr("Light"), QStringLiteral("light"));
|
m_generalUi->appThemeSelection->addItem(tr("Light"), "light");
|
||||||
m_generalUi->appThemeSelection->addItem(tr("Dark"), QStringLiteral("dark"));
|
m_generalUi->appThemeSelection->addItem(tr("Dark"), "dark");
|
||||||
m_generalUi->appThemeSelection->addItem(tr("Classic (Platform-native)"), QStringLiteral("classic"));
|
m_generalUi->appThemeSelection->addItem(tr("Classic (Platform-native)"), "classic");
|
||||||
m_generalUi->appThemeSelection->setCurrentIndex(
|
m_generalUi->appThemeSelection->setCurrentIndex(
|
||||||
m_generalUi->appThemeSelection->findData(config()->get(Config::GUI_ApplicationTheme).toString()));
|
m_generalUi->appThemeSelection->findData(config()->get(Config::GUI_ApplicationTheme).toString()));
|
||||||
|
|
||||||
@ -261,10 +261,10 @@ void ApplicationSettingsWidget::loadSettings()
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_generalUi->trayIconAppearance->clear();
|
m_generalUi->trayIconAppearance->clear();
|
||||||
m_generalUi->trayIconAppearance->addItem(tr("Monochrome (light)"), QStringLiteral("monochrome-light"));
|
m_generalUi->trayIconAppearance->addItem(tr("Monochrome (light)"), "monochrome-light");
|
||||||
m_generalUi->trayIconAppearance->addItem(tr("Monochrome (dark)"), QStringLiteral("monochrome-dark"));
|
m_generalUi->trayIconAppearance->addItem(tr("Monochrome (dark)"), "monochrome-dark");
|
||||||
m_generalUi->trayIconAppearance->addItem(tr("Colored"), QStringLiteral("colored"));
|
m_generalUi->trayIconAppearance->addItem(tr("Colorful"), "colorful");
|
||||||
int trayIconIndex = m_generalUi->trayIconAppearance->findData(config()->get(Config::GUI_TrayIconAppearance));
|
int trayIconIndex = m_generalUi->trayIconAppearance->findData(resources()->trayIconAppearance());
|
||||||
if (trayIconIndex > 0) {
|
if (trayIconIndex > 0) {
|
||||||
m_generalUi->trayIconAppearance->setCurrentIndex(trayIconIndex);
|
m_generalUi->trayIconAppearance->setCurrentIndex(trayIconIndex);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user