diff --git a/src/apps/deskflow-gui/MainWindow.cpp b/src/apps/deskflow-gui/MainWindow.cpp index f001b5def..42cc6a981 100644 --- a/src/apps/deskflow-gui/MainWindow.cpp +++ b/src/apps/deskflow-gui/MainWindow.cpp @@ -67,10 +67,6 @@ using CoreMode = CoreProcess::Mode; using CoreConnectionState = CoreProcess::ConnectionState; using CoreProcessState = CoreProcess::ProcessState; -const auto kColorfulIconFile = ":/icons/128x128/tray.png"; -const auto kLightIconFile = ":/icons/128x128/tray-light.png"; -const auto kDarkIconFile = ":/icons/128x128/tray-dark.png"; - MainWindow::MainWindow(ConfigScopes &configScopes, AppConfig &appConfig) : ui{std::make_unique()}, m_ConfigScopes(configScopes), @@ -96,8 +92,13 @@ MainWindow::MainWindow(ConfigScopes &configScopes, AppConfig &appConfig) m_actionTestCriticalError{new QAction(tr("Test Critical Error"), this)}, m_actionTestFatalError{new QAction(tr("Test Fatal Error"), this)} { - ui->setupUi(this); + const auto themeName = QStringLiteral("deskflow-%1").arg(iconMode()); + if (QIcon::themeName().isEmpty()) + QIcon::setThemeName(themeName); + else + QIcon::setFallbackThemeName(themeName); + ui->setupUi(this); // Setup Actions m_actionAbout->setText(tr("About %1...").arg(kAppName)); m_actionAbout->setMenuRole(QAction::AboutRole); @@ -624,18 +625,18 @@ void MainWindow::saveSettings() void MainWindow::setIcon() { -#ifdef Q_OS_MAC - QIcon icon; - if (appConfig().colorfulTrayIcon()) - icon.addFile(kColorfulIconFile); - else { - icon.addFile(kDarkIconFile); - icon.setIsMask(true); + // Using a theme icon that is packed in exe renders an invisible icon + // Instead use the resource path of the packed icon + // TODO Report to Qt ref the bug here + QString iconString = QStringLiteral(":/icons/deskflow-%1/apps/64/deskflow").arg(iconMode()); + if (!appConfig().colorfulTrayIcon()) { + iconString.append(QStringLiteral("-symbolic")); } -#else - QIcon icon(appConfig().colorfulTrayIcon() ? kColorfulIconFile : isDarkMode() ? kDarkIconFile : kLightIconFile); + m_trayIcon->setIcon(QIcon(iconString)); +#ifdef Q_OS_MAC + if (!appConfig().colorfulTrayIcon()) + m_trayIcon->icon().setIsMask(true); #endif - m_trayIcon->setIcon(icon); } void MainWindow::handleLogLine(const QString &line) @@ -776,6 +777,7 @@ void MainWindow::updateStatus() const auto connection = m_CoreProcess.connectionState(); const auto process = m_CoreProcess.processState(); + ui->lblConnectionSecurityStatus->setVisible(false); switch (process) { using enum CoreProcessState; @@ -812,6 +814,7 @@ void MainWindow::updateStatus() break; case Connected: { + ui->lblConnectionSecurityStatus->setVisible(true); if (m_SecureSocket) { setStatus(tr("%1 is connected (with %2)").arg(kAppName, m_CoreProcess.secureSocketVersion())); } else { @@ -967,9 +970,11 @@ void MainWindow::secureSocket(bool secureSocket) { m_SecureSocket = secureSocket; if (secureSocket) { - ui->m_pLabelPadlock->show(); + ui->lblConnectionSecurityStatus->setToolTip(tr("Secure Connection")); + ui->lblConnectionSecurityStatus->setPixmap(QIcon::fromTheme(QIcon::ThemeIcon::SecurityHigh).pixmap(QSize(32, 32))); } else { - ui->m_pLabelPadlock->hide(); + ui->lblConnectionSecurityStatus->setToolTip(tr("Insecure Connection")); + ui->lblConnectionSecurityStatus->setPixmap(QIcon::fromTheme(QIcon::ThemeIcon::SecurityLow).pixmap(QSize(32, 32))); } } diff --git a/src/apps/deskflow-gui/MainWindow.ui b/src/apps/deskflow-gui/MainWindow.ui index 8744a583d..cd4b70545 100644 --- a/src/apps/deskflow-gui/MainWindow.ui +++ b/src/apps/deskflow-gui/MainWindow.ui @@ -522,7 +522,7 @@ QLayout::SizeConstraint::SetDefaultConstraint - + true @@ -541,12 +541,6 @@ - - :/icons/64x64/padlock.png - - - true - @@ -654,8 +648,6 @@ btnApplySettings btnToggleCore - - - + diff --git a/src/apps/deskflow-gui/dialogs/AboutDialog.cpp b/src/apps/deskflow-gui/dialogs/AboutDialog.cpp index 3f8f74b7c..708ff347d 100644 --- a/src/apps/deskflow-gui/dialogs/AboutDialog.cpp +++ b/src/apps/deskflow-gui/dialogs/AboutDialog.cpp @@ -34,14 +34,13 @@ AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent), ui{std::make_unique { ui->setupUi(this); - auto copyIcon = QIcon::fromTheme( - QIcon::ThemeIcon::EditCopy, deskflow::gui::isDarkMode() ? QIcon(s_darkCopy) : QIcon(s_lightCopy) - ); - ui->lblIcon->setFixedSize(fontMetrics().height() * 6, fontMetrics().height() * 6); - ui->lblIcon->setPixmap(QPixmap(QStringLiteral(":/icons/128x128/tray.png")) - .scaledToWidth(fontMetrics().height() * 6, Qt::SmoothTransformation)); + const int px = (fontMetrics().height() * 6); + const QSize pixmapSize(px, px); + ui->lblIcon->setFixedSize(pixmapSize); - ui->btnCopyVersion->setIcon(copyIcon); + ui->lblIcon->setPixmap(QPixmap(QIcon::fromTheme("deskflow").pixmap(QSize().scaled(pixmapSize, Qt::KeepAspectRatio)))); + + ui->btnCopyVersion->setIcon(QIcon::fromTheme(QIcon::ThemeIcon::EditCopy)); connect(ui->btnCopyVersion, &QPushButton::clicked, this, &AboutDialog::copyVersionText); // Set up the displayed version number diff --git a/src/apps/deskflow-gui/dialogs/ServerConfigDialog.cpp b/src/apps/deskflow-gui/dialogs/ServerConfigDialog.cpp index 5cc48dfa6..95b379edb 100644 --- a/src/apps/deskflow-gui/dialogs/ServerConfigDialog.cpp +++ b/src/apps/deskflow-gui/dialogs/ServerConfigDialog.cpp @@ -45,9 +45,8 @@ ServerConfigDialog::ServerConfigDialog(QWidget *parent, ServerConfig &config, Ap { ui->setupUi(this); - const auto folderIcon = - QIcon::fromTheme(QIcon::ThemeIcon::DocumentOpen, QIcon(QStringLiteral(":/icons/64x64/folder.png"))); - ui->m_pButtonBrowseConfigFile->setIcon(folderIcon); + ui->m_pButtonBrowseConfigFile->setIcon(QIcon::fromTheme(QIcon::ThemeIcon::DocumentOpen)); + ui->m_pTrashScreenWidget->setPixmap(QIcon::fromTheme("user-trash").pixmap(QSize(64, 64))); // 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. diff --git a/src/apps/deskflow-gui/dialogs/ServerConfigDialog.ui b/src/apps/deskflow-gui/dialogs/ServerConfigDialog.ui index fa3d6afd8..6391002be 100644 --- a/src/apps/deskflow-gui/dialogs/ServerConfigDialog.ui +++ b/src/apps/deskflow-gui/dialogs/ServerConfigDialog.ui @@ -70,9 +70,6 @@ - - :/icons/64x64/user-trash.png - diff --git a/src/apps/deskflow-gui/dialogs/SettingsDialog.cpp b/src/apps/deskflow-gui/dialogs/SettingsDialog.cpp index f06a43f25..1758bb699 100644 --- a/src/apps/deskflow-gui/dialogs/SettingsDialog.cpp +++ b/src/apps/deskflow-gui/dialogs/SettingsDialog.cpp @@ -46,10 +46,8 @@ SettingsDialog::SettingsDialog( ui->setupUi(this); - const auto folderIcon = - QIcon::fromTheme(QIcon::ThemeIcon::DocumentOpen, QIcon(QStringLiteral(":/icons/64x64/folder.png"))); - ui->m_pPushButtonTlsCertPath->setIcon(folderIcon); - ui->m_pButtonBrowseLog->setIcon(folderIcon); + ui->m_pPushButtonTlsCertPath->setIcon(QIcon::fromTheme(QIcon::ThemeIcon::DocumentOpen)); + ui->m_pButtonBrowseLog->setIcon(QIcon::fromTheme(QIcon::ThemeIcon::DocumentOpen)); // 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. @@ -245,11 +243,7 @@ void SettingsDialog::loadFromConfig() ui->rb_icon_colorful->setChecked(true); else ui->rb_icon_mono->setChecked(true); - - ui->rb_icon_mono->setIcon( - isDarkMode() ? QIcon(QStringLiteral(":/icons/128x128/tray-dark.png")) - : QIcon(QStringLiteral(":/icons/128x128/tray-light.png")) - ); + ui->rb_icon_mono->setIcon(QIcon(QStringLiteral(":/icons/deskflow-%1/apps/64/deskflow-symbolic").arg(iconMode()))); updateTlsControls(); } diff --git a/src/apps/deskflow-gui/dialogs/SettingsDialog.ui b/src/apps/deskflow-gui/dialogs/SettingsDialog.ui index 92694c4a7..d946bef59 100644 --- a/src/apps/deskflow-gui/dialogs/SettingsDialog.ui +++ b/src/apps/deskflow-gui/dialogs/SettingsDialog.ui @@ -176,7 +176,7 @@ - :/icons/128x128/tray.png:/icons/128x128/tray.png + :/icons/common/deskflow.svg:/icons/common/deskflow.svg @@ -187,7 +187,7 @@ - :/icons/128x128/tray-dark.png:/icons/128x128/tray-dark.png + :/icons/deskflow-dark/apps/64/deskflow-symbolic.svg:/icons/deskflow-dark/apps/64/deskflow-symbolic.svg diff --git a/src/apps/deskflow-gui/main.cpp b/src/apps/deskflow-gui/main.cpp index e13bc2848..c172d0729 100644 --- a/src/apps/deskflow-gui/main.cpp +++ b/src/apps/deskflow-gui/main.cpp @@ -27,6 +27,7 @@ #include "gui/dotenv.h" #include "gui/messages.h" #include "gui/string_utils.h" +#include "gui/style_utils.h" #include #include @@ -118,6 +119,9 @@ int main(int argc, char *argv[]) } #endif + // Sets the fallback icon path + setIconFallbackPaths(); + qInstallMessageHandler(deskflow::gui::messages::messageHandler); qInfo("%s v%s", kAppName, qPrintable(kVersion)); diff --git a/src/apps/res/deskflow.qrc b/src/apps/res/deskflow.qrc index 7e0928ddc..64fe0445e 100644 --- a/src/apps/res/deskflow.qrc +++ b/src/apps/res/deskflow.qrc @@ -1,14 +1,50 @@ - - icons/64x64/copy-dark.png - icons/64x64/copy-light.png - icons/64x64/folder.png - icons/64x64/padlock.png - icons/64x64/user-trash.png - icons/64x64/video-display.png - icons/128x128/tray.png - icons/128x128/tray-dark.png - icons/128x128/tray-light.png + + icons/deskflow-dark/actions/16/edit-copy.svg + icons/deskflow-dark/actions/16/document-open.svg + icons/deskflow-dark/actions/22/edit-copy.svg + icons/deskflow-dark/actions/22/document-open.svg + icons/deskflow-dark/actions/24/edit-copy.svg + icons/deskflow-dark/actions/24/document-open.svg + icons/deskflow-dark/actions/32/dialog-cancel.svg + icons/deskflow-dark/actions/32/dialog-ok.svg + icons/deskflow-dark/actions/32/dialog-ok-apply.svg + icons/deskflow-dark/actions/32/document-open.svg + icons/deskflow-dark/apps/64/deskflow.svg + icons/deskflow-dark/apps/64/deskflow-symbolic.svg + icons/deskflow-dark/devices/64/video-display.svg + icons/deskflow-dark/places/64/user-trash.svg + icons/deskflow-dark/status/64/dialog-error.svg + icons/deskflow-dark/status/64/dialog-information.svg + icons/deskflow-dark/status/64/dialog-positive.svg + icons/deskflow-dark/status/64/dialog-question.svg + icons/deskflow-dark/status/64/dialog-warning.svg + icons/deskflow-dark/status/64/security-high.svg + icons/deskflow-dark/status/64/security-low.svg + icons/deskflow-dark/status/64/security-medium.svg + icons/deskflow-dark/index.theme + icons/deskflow-light/actions/16/edit-copy.svg + icons/deskflow-light/actions/16/document-open.svg + icons/deskflow-light/actions/22/edit-copy.svg + icons/deskflow-light/actions/22/document-open.svg + icons/deskflow-light/actions/24/edit-copy.svg + icons/deskflow-light/actions/24/document-open.svg + icons/deskflow-light/actions/32/dialog-cancel.svg + icons/deskflow-light/actions/32/dialog-ok.svg + icons/deskflow-light/actions/32/dialog-ok-apply.svg + icons/deskflow-light/actions/32/document-open.svg + icons/deskflow-light/apps/64/deskflow.svg + icons/deskflow-light/apps/64/deskflow-symbolic.svg + icons/deskflow-light/devices/64/video-display.svg + icons/deskflow-light/status/64/dialog-error.svg + icons/deskflow-light/status/64/dialog-information.svg + icons/deskflow-light/status/64/dialog-positive.svg + icons/deskflow-light/status/64/dialog-question.svg + icons/deskflow-light/status/64/dialog-warning.svg + icons/deskflow-light/status/64/security-high.svg + icons/deskflow-light/status/64/security-low.svg + icons/deskflow-light/status/64/security-medium.svg + icons/deskflow-light/index.theme image/placeholder.png image/welcome.png diff --git a/src/apps/res/icons/128x128/tray-dark.png b/src/apps/res/icons/128x128/tray-dark.png deleted file mode 100644 index 893bb0d75..000000000 Binary files a/src/apps/res/icons/128x128/tray-dark.png and /dev/null differ diff --git a/src/apps/res/icons/128x128/tray-light.png b/src/apps/res/icons/128x128/tray-light.png deleted file mode 100644 index a0c98f283..000000000 Binary files a/src/apps/res/icons/128x128/tray-light.png and /dev/null differ diff --git a/src/apps/res/icons/128x128/tray.png b/src/apps/res/icons/128x128/tray.png deleted file mode 100644 index 3cd39a15d..000000000 Binary files a/src/apps/res/icons/128x128/tray.png and /dev/null differ diff --git a/src/apps/res/icons/64x64/copy-dark.png b/src/apps/res/icons/64x64/copy-dark.png deleted file mode 100644 index 65aa86057..000000000 Binary files a/src/apps/res/icons/64x64/copy-dark.png and /dev/null differ diff --git a/src/apps/res/icons/64x64/copy-light.png b/src/apps/res/icons/64x64/copy-light.png deleted file mode 100644 index 690386905..000000000 Binary files a/src/apps/res/icons/64x64/copy-light.png and /dev/null differ diff --git a/src/apps/res/icons/64x64/folder.png b/src/apps/res/icons/64x64/folder.png deleted file mode 100644 index fb96ebdfe..000000000 Binary files a/src/apps/res/icons/64x64/folder.png and /dev/null differ diff --git a/src/apps/res/icons/64x64/padlock.png b/src/apps/res/icons/64x64/padlock.png deleted file mode 100644 index 55909fe94..000000000 Binary files a/src/apps/res/icons/64x64/padlock.png and /dev/null differ diff --git a/src/apps/res/icons/64x64/user-trash.png b/src/apps/res/icons/64x64/user-trash.png deleted file mode 100644 index 05eb80ec3..000000000 Binary files a/src/apps/res/icons/64x64/user-trash.png and /dev/null differ diff --git a/src/apps/res/icons/64x64/video-display.png b/src/apps/res/icons/64x64/video-display.png deleted file mode 100644 index 8a47d90ff..000000000 Binary files a/src/apps/res/icons/64x64/video-display.png and /dev/null differ diff --git a/src/apps/res/icons/deskflow-dark/actions/16/document-open.svg b/src/apps/res/icons/deskflow-dark/actions/16/document-open.svg new file mode 100644 index 000000000..f6f775437 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/16/document-open.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/actions/16/edit-copy.svg b/src/apps/res/icons/deskflow-dark/actions/16/edit-copy.svg new file mode 100644 index 000000000..2ada8e576 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/16/edit-copy.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/actions/16@2x b/src/apps/res/icons/deskflow-dark/actions/16@2x new file mode 120000 index 000000000..19c7bdba7 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/16@2x @@ -0,0 +1 @@ +16 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-dark/actions/16@3x b/src/apps/res/icons/deskflow-dark/actions/16@3x new file mode 120000 index 000000000..19c7bdba7 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/16@3x @@ -0,0 +1 @@ +16 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-dark/actions/22/document-open.svg b/src/apps/res/icons/deskflow-dark/actions/22/document-open.svg new file mode 100644 index 000000000..00b703cc7 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/22/document-open.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/actions/22/edit-copy.svg b/src/apps/res/icons/deskflow-dark/actions/22/edit-copy.svg new file mode 100644 index 000000000..1799625db --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/22/edit-copy.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/actions/22@2x b/src/apps/res/icons/deskflow-dark/actions/22@2x new file mode 120000 index 000000000..8fdd954df --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/22@2x @@ -0,0 +1 @@ +22 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-dark/actions/22@3x b/src/apps/res/icons/deskflow-dark/actions/22@3x new file mode 120000 index 000000000..8fdd954df --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/22@3x @@ -0,0 +1 @@ +22 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-dark/actions/24/document-open.svg b/src/apps/res/icons/deskflow-dark/actions/24/document-open.svg new file mode 100644 index 000000000..355bd8971 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/24/document-open.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/actions/24/edit-copy.svg b/src/apps/res/icons/deskflow-dark/actions/24/edit-copy.svg new file mode 100644 index 000000000..47aa337f4 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/24/edit-copy.svg @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/actions/24@2x b/src/apps/res/icons/deskflow-dark/actions/24@2x new file mode 120000 index 000000000..cabf43b5d --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/24@2x @@ -0,0 +1 @@ +24 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-dark/actions/24@3x b/src/apps/res/icons/deskflow-dark/actions/24@3x new file mode 120000 index 000000000..cabf43b5d --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/24@3x @@ -0,0 +1 @@ +24 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-dark/actions/32/dialog-cancel.svg b/src/apps/res/icons/deskflow-dark/actions/32/dialog-cancel.svg new file mode 100644 index 000000000..3825b6843 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/32/dialog-cancel.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/actions/32/dialog-ok-apply.svg b/src/apps/res/icons/deskflow-dark/actions/32/dialog-ok-apply.svg new file mode 100644 index 000000000..46bb9d6ba --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/32/dialog-ok-apply.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-dark/actions/32/dialog-ok.svg b/src/apps/res/icons/deskflow-dark/actions/32/dialog-ok.svg new file mode 120000 index 000000000..6774aa851 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/32/dialog-ok.svg @@ -0,0 +1 @@ +dialog-ok-apply.svg \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-dark/actions/32/document-open.svg b/src/apps/res/icons/deskflow-dark/actions/32/document-open.svg new file mode 100644 index 000000000..f1f893d19 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/32/document-open.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/actions/32@2x b/src/apps/res/icons/deskflow-dark/actions/32@2x new file mode 120000 index 000000000..1758dddcc --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/32@2x @@ -0,0 +1 @@ +32 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-dark/actions/32@3x b/src/apps/res/icons/deskflow-dark/actions/32@3x new file mode 120000 index 000000000..1758dddcc --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/actions/32@3x @@ -0,0 +1 @@ +32 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-dark/apps/64/deskflow-symbolic.svg b/src/apps/res/icons/deskflow-dark/apps/64/deskflow-symbolic.svg new file mode 100644 index 000000000..d28405d34 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/apps/64/deskflow-symbolic.svg @@ -0,0 +1,29 @@ + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/apps/64/deskflow.svg b/src/apps/res/icons/deskflow-dark/apps/64/deskflow.svg new file mode 100644 index 000000000..41012b964 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/apps/64/deskflow.svg @@ -0,0 +1,29 @@ + + + + diff --git a/src/apps/res/icons/deskflow-dark/devices/64/video-display.svg b/src/apps/res/icons/deskflow-dark/devices/64/video-display.svg new file mode 100644 index 000000000..fd8ce1b13 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/devices/64/video-display.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/index.theme b/src/apps/res/icons/deskflow-dark/index.theme new file mode 100644 index 000000000..7933b6b01 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/index.theme @@ -0,0 +1,177 @@ +[Icon Theme] +Name=deskflow-dark + +Comment=Striped down Breeze Dark by the KDE VDG + +DisplayDepth=32 + +#Inherits=breeze-dark,hicolor + +Example=folder + +FollowsColorScheme=true + +DesktopDefault=48 +DesktopSizes=16,22,32,48,64,128,256 +ToolbarDefault=22 +ToolbarSizes=16,22,32,48 +MainToolbarDefault=22 +MainToolbarSizes=16,22,32,48 +SmallDefault=16 +SmallSizes=16,22,32,48 +PanelDefault=48 +PanelSizes=16,22,32,48,64,128,256 +DialogDefault=32 +DialogSizes=16,22,32,48,64,128,256 + +KDE-Extensions=.svg + +########## Directories +########## ordered by category and alphabetically + +Directories=actions/16,actions/22,actions/24,actions/32,apps/64,devices/64,places/64,status/64 +ScaledDirectories=actions/16@2x,actions/16@3x,actions/22@2x,actions/22@3x,actions/24@2x,actions/24@3x,actions/32@2x,actions/32@3x + +[apps/64] +Size=64 +Context=Applications +Type=Scalable +MinSize=22 +MaxSize=256 + + +########## Actions +########## ordered by size + +#16x16 - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/16] +Size=16 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#16x16@2x - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/16@2x] +Size=16 +Scale=2 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#16x16@3x - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/16@3x] +Size=16 +Scale=3 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + + +#22x22 - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/22] +Size=22 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#22x22@2x - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/22@2x] +Size=22 +Scale=2 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#22x22@3x - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/22@3x] +Size=22 +Scale=3 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#24x24 - Fixed size - GTK icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/24] +Size=24 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#24x24@2x - Fixed size - GTK icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/24@2x] +Size=24 +Scale=2 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#24x24@3x - Fixed size - GTK icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/24@3x] +Size=24 +Scale=3 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#32x32 - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/32] +Size=32 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#32x32@2x - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/32@2x] +Size=32 +Scale=2 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#32x32@3x - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/32@3x] +Size=32 +Scale=3 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +########## Status +########## ordered by size + +#64x64 - Fixed size - For folder icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Color +[places/64] +Size=64 +Type=Scalable +Context=Places +MinSize=48 +MaxSize=256 + + +#64x64 - Fixed size - For dialog icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Color +[status/64] +Size=64 +Context=Status +Type=Scalable +MinSize=22 +MaxSize=256 + +#64x64 - Fixed size - For dialog icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Color +[devices/64] +Size=64 +Context=Devices +Type=Scalable +MinSize=22 +MaxSize=256 diff --git a/src/apps/res/icons/deskflow-dark/places/64/user-trash.svg b/src/apps/res/icons/deskflow-dark/places/64/user-trash.svg new file mode 100644 index 000000000..afe30e992 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/places/64/user-trash.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/status/64/dialog-error.svg b/src/apps/res/icons/deskflow-dark/status/64/dialog-error.svg new file mode 100644 index 000000000..afce0a18b --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/status/64/dialog-error.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/status/64/dialog-information.svg b/src/apps/res/icons/deskflow-dark/status/64/dialog-information.svg new file mode 100644 index 000000000..44380233e --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/status/64/dialog-information.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/status/64/dialog-positive.svg b/src/apps/res/icons/deskflow-dark/status/64/dialog-positive.svg new file mode 100644 index 000000000..192508839 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/status/64/dialog-positive.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/status/64/dialog-question.svg b/src/apps/res/icons/deskflow-dark/status/64/dialog-question.svg new file mode 100644 index 000000000..945905205 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/status/64/dialog-question.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/status/64/dialog-warning.svg b/src/apps/res/icons/deskflow-dark/status/64/dialog-warning.svg new file mode 100644 index 000000000..e28d0627c --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/status/64/dialog-warning.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/status/64/security-high.svg b/src/apps/res/icons/deskflow-dark/status/64/security-high.svg new file mode 100644 index 000000000..3a0a63034 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/status/64/security-high.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/status/64/security-low.svg b/src/apps/res/icons/deskflow-dark/status/64/security-low.svg new file mode 100644 index 000000000..a668052d0 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/status/64/security-low.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-dark/status/64/security-medium.svg b/src/apps/res/icons/deskflow-dark/status/64/security-medium.svg new file mode 100644 index 000000000..2f5734848 --- /dev/null +++ b/src/apps/res/icons/deskflow-dark/status/64/security-medium.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-light/actions/16/document-open.svg b/src/apps/res/icons/deskflow-light/actions/16/document-open.svg new file mode 100644 index 000000000..5c2480414 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/16/document-open.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/src/apps/res/icons/deskflow-light/actions/16/edit-copy.svg b/src/apps/res/icons/deskflow-light/actions/16/edit-copy.svg new file mode 100644 index 000000000..266e34b89 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/16/edit-copy.svg @@ -0,0 +1,11 @@ + + + + + + + diff --git a/src/apps/res/icons/deskflow-light/actions/16@2x b/src/apps/res/icons/deskflow-light/actions/16@2x new file mode 120000 index 000000000..19c7bdba7 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/16@2x @@ -0,0 +1 @@ +16 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-light/actions/16@3x b/src/apps/res/icons/deskflow-light/actions/16@3x new file mode 120000 index 000000000..19c7bdba7 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/16@3x @@ -0,0 +1 @@ +16 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-light/actions/22/document-open.svg b/src/apps/res/icons/deskflow-light/actions/22/document-open.svg new file mode 100644 index 000000000..d0a9ce0dc --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/22/document-open.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/src/apps/res/icons/deskflow-light/actions/22/edit-copy.svg b/src/apps/res/icons/deskflow-light/actions/22/edit-copy.svg new file mode 100644 index 000000000..2557953b0 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/22/edit-copy.svg @@ -0,0 +1,11 @@ + + + + + + + diff --git a/src/apps/res/icons/deskflow-light/actions/22@2x b/src/apps/res/icons/deskflow-light/actions/22@2x new file mode 120000 index 000000000..8fdd954df --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/22@2x @@ -0,0 +1 @@ +22 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-light/actions/22@3x b/src/apps/res/icons/deskflow-light/actions/22@3x new file mode 120000 index 000000000..8fdd954df --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/22@3x @@ -0,0 +1 @@ +22 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-light/actions/24/document-open.svg b/src/apps/res/icons/deskflow-light/actions/24/document-open.svg new file mode 100644 index 000000000..8ea9505f0 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/24/document-open.svg @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/src/apps/res/icons/deskflow-light/actions/24/edit-copy.svg b/src/apps/res/icons/deskflow-light/actions/24/edit-copy.svg new file mode 100644 index 000000000..f64382e48 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/24/edit-copy.svg @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-light/actions/24@2x b/src/apps/res/icons/deskflow-light/actions/24@2x new file mode 120000 index 000000000..cabf43b5d --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/24@2x @@ -0,0 +1 @@ +24 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-light/actions/24@3x b/src/apps/res/icons/deskflow-light/actions/24@3x new file mode 120000 index 000000000..cabf43b5d --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/24@3x @@ -0,0 +1 @@ +24 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-light/actions/32/dialog-cancel.svg b/src/apps/res/icons/deskflow-light/actions/32/dialog-cancel.svg new file mode 100644 index 000000000..2179310eb --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/32/dialog-cancel.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/src/apps/res/icons/deskflow-light/actions/32/dialog-ok-apply.svg b/src/apps/res/icons/deskflow-light/actions/32/dialog-ok-apply.svg new file mode 100644 index 000000000..d05eca7b2 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/32/dialog-ok-apply.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-light/actions/32/dialog-ok.svg b/src/apps/res/icons/deskflow-light/actions/32/dialog-ok.svg new file mode 120000 index 000000000..6774aa851 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/32/dialog-ok.svg @@ -0,0 +1 @@ +dialog-ok-apply.svg \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-light/actions/32/document-open.svg b/src/apps/res/icons/deskflow-light/actions/32/document-open.svg new file mode 100644 index 000000000..f73f75a01 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/32/document-open.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/src/apps/res/icons/deskflow-light/actions/32@2x b/src/apps/res/icons/deskflow-light/actions/32@2x new file mode 120000 index 000000000..1758dddcc --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/32@2x @@ -0,0 +1 @@ +32 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-light/actions/32@3x b/src/apps/res/icons/deskflow-light/actions/32@3x new file mode 120000 index 000000000..1758dddcc --- /dev/null +++ b/src/apps/res/icons/deskflow-light/actions/32@3x @@ -0,0 +1 @@ +32 \ No newline at end of file diff --git a/src/apps/res/icons/deskflow-light/apps/64/deskflow-symbolic.svg b/src/apps/res/icons/deskflow-light/apps/64/deskflow-symbolic.svg new file mode 100644 index 000000000..837421f52 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/apps/64/deskflow-symbolic.svg @@ -0,0 +1,29 @@ + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-light/apps/64/deskflow.svg b/src/apps/res/icons/deskflow-light/apps/64/deskflow.svg new file mode 100644 index 000000000..41012b964 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/apps/64/deskflow.svg @@ -0,0 +1,29 @@ + + + + diff --git a/src/apps/res/icons/deskflow-light/devices/64/video-display.svg b/src/apps/res/icons/deskflow-light/devices/64/video-display.svg new file mode 100644 index 000000000..fd8ce1b13 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/devices/64/video-display.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-light/index.theme b/src/apps/res/icons/deskflow-light/index.theme new file mode 100644 index 000000000..aae20a5fa --- /dev/null +++ b/src/apps/res/icons/deskflow-light/index.theme @@ -0,0 +1,177 @@ +[Icon Theme] +Name=deskflow-light + +Comment=Striped down Breeze Light by the KDE VDG + +DisplayDepth=32 + +Inherits=breeze,hicolor + +Example=folder + +FollowsColorScheme=true + +DesktopDefault=48 +DesktopSizes=16,22,32,48,64,128,256 +ToolbarDefault=22 +ToolbarSizes=16,22,32,48 +MainToolbarDefault=22 +MainToolbarSizes=16,22,32,48 +SmallDefault=16 +SmallSizes=16,22,32,48 +PanelDefault=48 +PanelSizes=16,22,32,48,64,128,256 +DialogDefault=32 +DialogSizes=16,22,32,48,64,128,256 + +KDE-Extensions=.svg + +########## Directories +########## ordered by category and alphabetically + +Directories=actions/16,actions/22,actions/24,actions/32,apps/64,devices/64,places/64,status/64 +ScaledDirectories=actions/16@2x,actions/16@3x,actions/22@2x,actions/22@3x,actions/24@2x,actions/24@3x,actions/32@2x,actions/32@3x + +[apps/64] +Size=64 +Context=Applications +Type=Scalable +MinSize=22 +MaxSize=256 + + +########## Actions +########## ordered by size + +#16x16 - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/16] +Size=16 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#16x16@2x - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/16@2x] +Size=16 +Scale=2 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#16x16@3x - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/16@3x] +Size=16 +Scale=3 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + + +#22x22 - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/22] +Size=22 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#22x22@2x - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/22@2x] +Size=22 +Scale=2 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#22x22@3x - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/22@3x] +Size=22 +Scale=3 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#24x24 - Fixed size - GTK icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/24] +Size=24 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#24x24@2x - Fixed size - GTK icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/24@2x] +Size=24 +Scale=2 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#24x24@3x - Fixed size - GTK icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/24@3x] +Size=24 +Scale=3 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#32x32 - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/32] +Size=32 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#32x32@2x - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/32@2x] +Size=32 +Scale=2 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +#32x32@3x - Fixed size - For toolbar icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Monochrome +[actions/32@3x] +Size=32 +Scale=3 +Context=Actions +Type=Scalable +MinSize=16 +MaxSize=256 + +########## Status +########## ordered by size + +#64x64 - Fixed size - For folder icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Color +[places/64] +Size=64 +Type=Scalable +Context=Places +MinSize=48 +MaxSize=256 + + +#64x64 - Fixed size - For dialog icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Color +[status/64] +Size=64 +Context=Status +Type=Scalable +MinSize=22 +MaxSize=256 + +#64x64 - Fixed size - For dialog icons >!!!ONLY!!!< - DO_NOT_USE_ANYWHERE_ELSE - Color +[devices/64] +Size=64 +Context=Devices +Type=Scalable +MinSize=22 +MaxSize=256 diff --git a/src/apps/res/icons/deskflow-light/places/64/user-trash.svg b/src/apps/res/icons/deskflow-light/places/64/user-trash.svg new file mode 100644 index 000000000..afe30e992 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/places/64/user-trash.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-light/status/64/dialog-error.svg b/src/apps/res/icons/deskflow-light/status/64/dialog-error.svg new file mode 100644 index 000000000..afce0a18b --- /dev/null +++ b/src/apps/res/icons/deskflow-light/status/64/dialog-error.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-light/status/64/dialog-information.svg b/src/apps/res/icons/deskflow-light/status/64/dialog-information.svg new file mode 100644 index 000000000..44380233e --- /dev/null +++ b/src/apps/res/icons/deskflow-light/status/64/dialog-information.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-light/status/64/dialog-positive.svg b/src/apps/res/icons/deskflow-light/status/64/dialog-positive.svg new file mode 100644 index 000000000..192508839 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/status/64/dialog-positive.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-light/status/64/dialog-question.svg b/src/apps/res/icons/deskflow-light/status/64/dialog-question.svg new file mode 100644 index 000000000..945905205 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/status/64/dialog-question.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-light/status/64/dialog-warning.svg b/src/apps/res/icons/deskflow-light/status/64/dialog-warning.svg new file mode 100644 index 000000000..e28d0627c --- /dev/null +++ b/src/apps/res/icons/deskflow-light/status/64/dialog-warning.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-light/status/64/security-high.svg b/src/apps/res/icons/deskflow-light/status/64/security-high.svg new file mode 100644 index 000000000..3a0a63034 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/status/64/security-high.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-light/status/64/security-low.svg b/src/apps/res/icons/deskflow-light/status/64/security-low.svg new file mode 100644 index 000000000..a668052d0 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/status/64/security-low.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/apps/res/icons/deskflow-light/status/64/security-medium.svg b/src/apps/res/icons/deskflow-light/status/64/security-medium.svg new file mode 100644 index 000000000..2f5734848 --- /dev/null +++ b/src/apps/res/icons/deskflow-light/status/64/security-medium.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/lib/gui/config/Screen.h b/src/lib/gui/config/Screen.h index f5f7cf4a9..2c69f0575 100644 --- a/src/lib/gui/config/Screen.h +++ b/src/lib/gui/config/Screen.h @@ -22,6 +22,7 @@ #include "gui/proxy/QSettingsProxy.h" +#include #include #include #include @@ -174,7 +175,7 @@ protected: } private: - QPixmap m_Pixmap = QPixmap(":res/icons/64x64/video-display.png"); + QPixmap m_Pixmap = QIcon::fromTheme("video-display").pixmap(QSize(64, 64)); QString m_Name; QStringList m_Aliases; QList m_Modifiers; diff --git a/src/lib/gui/style_utils.h b/src/lib/gui/style_utils.h index bf82a3ef6..171243471 100644 --- a/src/lib/gui/style_utils.h +++ b/src/lib/gui/style_utils.h @@ -17,6 +17,8 @@ #pragma once +#include +#include #include #include #include @@ -36,5 +38,40 @@ inline bool isDarkMode() const auto window = defaultPalette.color(QPalette::Window); return text.lightness() > window.lightness(); } +/** + * @brief get a string for the iconMode + * @returns "dark" or "light" + */ +inline QString iconMode() +{ + return isDarkMode() ? QStringLiteral("dark") : QStringLiteral("light"); +} +/** + * @brief checkSubDir checks for subdirs in a dir + * @param path The path to check for subdirs + * @return list of subdirs + */ +inline QStringList checkSubDir(const QString &path) +{ + QStringList paths; + auto dir = QDir(path); + const QFileInfoList items = dir.entryInfoList({"*"}, QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot); + for (const QFileInfo &item : items) { + if (item.isDir()) { + paths.append(item.absoluteFilePath()); + paths.append(checkSubDir(item.absoluteFilePath())); + } + } + return paths; +} + +/** + * @brief setIconFallbackPaths Set the icon fallback path to our light or dark theme + */ +inline void setIconFallbackPaths() +{ + QStringList paths = checkSubDir(QStringLiteral(":/icons/deskflow-%1").arg(iconMode())); + QIcon::setFallbackSearchPaths(paths); +} } // namespace deskflow::gui