diff --git a/tray/gui/traymenu.cpp b/tray/gui/traymenu.cpp index ddf99ca..7e04d7c 100644 --- a/tray/gui/traymenu.cpp +++ b/tray/gui/traymenu.cpp @@ -18,6 +18,7 @@ TrayMenu::TrayMenu(TrayIcon *trayIcon, QWidget *parent) : QMenu(parent) , m_trayIcon(trayIcon) { + setObjectName(QStringLiteral("QtGui::TrayMenu")); auto *const menuLayout = new QHBoxLayout; menuLayout->setContentsMargins(0, 0, 0, 0); menuLayout->setSpacing(0); diff --git a/tray/gui/traywidget.cpp b/tray/gui/traywidget.cpp index 84a7438..bde92bd 100644 --- a/tray/gui/traywidget.cpp +++ b/tray/gui/traywidget.cpp @@ -206,8 +206,11 @@ TrayWidget::~TrayWidget() void TrayWidget::showSettingsDialog() { + if (!m_dialogParent) { + m_dialogParent = make_unique(); + } if (!s_settingsDlg) { - s_settingsDlg = new SettingsDialog(&m_connection, this); + s_settingsDlg = new SettingsDialog(&m_connection, m_dialogParent.get()); connect(s_settingsDlg, &SettingsDialog::applied, &TrayWidget::applySettingsOnAllInstances); } centerWidget(s_settingsDlg); @@ -216,8 +219,11 @@ void TrayWidget::showSettingsDialog() void TrayWidget::showAboutDialog() { + if (!m_dialogParent) { + m_dialogParent = make_unique(); + } if (!s_aboutDlg) { - s_aboutDlg = new AboutDialog(this, QString(), + s_aboutDlg = new AboutDialog(m_dialogParent.get(), QString(), QStringLiteral( "

Developed by " APP_AUTHOR "
Fallback icons from KDE/Breeze project
Syncthing icons from Syncthing project
Using " diff --git a/tray/gui/traywidget.h b/tray/gui/traywidget.h index cf88826..9c1691b 100644 --- a/tray/gui/traywidget.h +++ b/tray/gui/traywidget.h @@ -101,6 +101,7 @@ private slots: private: TrayMenu *m_menu; + std::unique_ptr m_dialogParent; std::unique_ptr m_ui; static SettingsDialog *s_settingsDlg; static QtUtilities::AboutDialog *s_aboutDlg; diff --git a/tray/resources/dark.stylesheet b/tray/resources/dark.stylesheet new file mode 100644 index 0000000..b579b94 --- /dev/null +++ b/tray/resources/dark.stylesheet @@ -0,0 +1,24 @@ +QtGui--TrayMenu { + border: none; + background-color: #000; + qproperty-windowOpacity: 0.8; +} +QtGui--TrayWidget { + color: #fff; + background-color: rgba(255,0,0,50%); + qproperty-windowOpacity: 0.8; +} +QtGui--TrayWidget * { + color: #fff; + background-color: transparent; +} + +QtGui--TrayWidget QTreeView::branch { + color: #fff; +} + +QtGui--TrayWidget > QFrame { + border-bottom: 1px solid #555; + border-radius: 0px; + padding: 2px; +}