From d68496bdd48a11702ebfc1940162fed2446bc5d4 Mon Sep 17 00:00:00 2001 From: tobtoht Date: Thu, 28 Oct 2021 19:50:18 +0200 Subject: [PATCH] macOS: fix statusbar button clickability --- src/MainWindow.cpp | 16 ++++++++++++++++ src/MainWindow.h | 1 + src/assets.qrc | 1 + src/assets/macStylesheet.patch | 31 +++++++++++++++++++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 src/assets/macStylesheet.patch diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index bced3c9..0dfcbb0 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -95,6 +95,10 @@ void MainWindow::initStatusBar() { this->statusBar()->setStyleSheet("QStatusBar::item {border: None;}"); #endif +#if defined(Q_OS_MACOS) + this->patchStylesheetMac(); +#endif + this->statusBar()->setFixedHeight(30); m_statusLabelStatus = new QLabel("Idle", this); @@ -849,6 +853,10 @@ void MainWindow::skinChanged(const QString &skinName) { m_windowManager->changeSkin(skinName); ColorScheme::updateFromWidget(this); this->updateWidgetIcons(); + +#if defined(Q_OS_MACOS) + this->patchStylesheetMac(); +#endif } void MainWindow::updateWidgetIcons() { @@ -1586,6 +1594,14 @@ bool MainWindow::verifyPassword() { return true; } +void MainWindow::patchStylesheetMac() { + auto patch = Utils::fileOpenQRC(":assets/macStylesheet.patch"); + auto patch_text = Utils::barrayToString(patch); + + QString styleSheet = qApp->styleSheet() + patch_text; + qApp->setStyleSheet(styleSheet); +} + void MainWindow::toggleSearchbar(bool visible) { config()->set(Config::showSearchbar, visible); diff --git a/src/MainWindow.h b/src/MainWindow.h index fc863e1..a4fc590 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -215,6 +215,7 @@ private: void updateRecentlyOpenedMenu(); void updateWidgetIcons(); bool verifyPassword(); + void patchStylesheetMac(); QIcon hardwareDevicePairedIcon(); QIcon hardwareDeviceUnpairedIcon(); diff --git a/src/assets.qrc b/src/assets.qrc index bf99e01..cf9e9ab 100644 --- a/src/assets.qrc +++ b/src/assets.qrc @@ -3,6 +3,7 @@ assets/about.txt assets/ack.txt assets/feather.desktop + assets/macStylesheet.patch assets/nodes.json assets/gpg_keys/featherwallet.asc assets/images/appicons/32x32.png diff --git a/src/assets/macStylesheet.patch b/src/assets/macStylesheet.patch new file mode 100644 index 0000000..955debd --- /dev/null +++ b/src/assets/macStylesheet.patch @@ -0,0 +1,31 @@ +/* From electrum/gui/qt/stylesheet_patcher.py */ +StatusBarButton { + background-color: transparent; + border: 1px solid transparent; + border-radius: 4px; + margin: 0px; + padding: 2px; +} + +StatusBarButton:checked { + background-color: transparent; + border: 1px solid #1464A0; +} + +StatusBarButton:checked:disabled { + border: 1px solid #14506E; +} + +StatusBarButton:pressed { + margin: 1px; + background-color: transparent; + border: 1px solid #1464A0; +} + +StatusBarButton:disabled { + border: none; +} + +StatusBarButton:hover { + border: 1px solid #148CD2; +} \ No newline at end of file