From 840e409cec960917486be16cc26bc1272e533d3b Mon Sep 17 00:00:00 2001 From: luddens Date: Wed, 8 Jan 2020 18:26:58 +0100 Subject: [PATCH] bigger menu icon apply a custom proxystyle for the menu widget to change the icon size --- kiwix-desktop.pro | 3 ++- resources/css/style.css | 2 +- src/mainmenu.cpp | 2 ++ src/menuproxystyle.h | 19 +++++++++++++++++++ 4 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 src/menuproxystyle.h diff --git a/kiwix-desktop.pro b/kiwix-desktop.pro index 922554e..d887510 100644 --- a/kiwix-desktop.pro +++ b/kiwix-desktop.pro @@ -96,7 +96,8 @@ HEADERS += \ src/opdsrequestmanager.h \ src/localkiwixserver.h \ src/fullscreenwindow.h \ - src/fullscreennotification.h + src/fullscreennotification.h \ + src/menuproxystyle.h FORMS += \ ui/mainwindow.ui \ diff --git a/resources/css/style.css b/resources/css/style.css index 1314e8d..e17946e 100644 --- a/resources/css/style.css +++ b/resources/css/style.css @@ -88,7 +88,7 @@ QMenu::item { min-height: 40px; max-height: 40px; border: 1px solid transparent; - padding: 2px 12px 2px 40px; + padding: 2px 12px 2px 20px; } QMenu::icon { diff --git a/src/mainmenu.cpp b/src/mainmenu.cpp index 78b2efd..08e5609 100644 --- a/src/mainmenu.cpp +++ b/src/mainmenu.cpp @@ -2,6 +2,7 @@ #include "mainmenu.h" #include "kiwixapp.h" +#include "menuproxystyle.h" #define ADD_ACTION(ID) addAction(app->getAction(KiwixApp::ID)); @@ -9,6 +10,7 @@ MainMenu::MainMenu(QWidget *parent) : QMenu(parent) { auto app = KiwixApp::instance(); + setStyle(new MenuProxyStyle()); ADD_ACTION(KiwixServeAction); ADD_ACTION(RandomArticleAction); diff --git a/src/menuproxystyle.h b/src/menuproxystyle.h new file mode 100644 index 0000000..2363538 --- /dev/null +++ b/src/menuproxystyle.h @@ -0,0 +1,19 @@ +#include + +class MenuProxyStyle: public QProxyStyle +{ + Q_OBJECT + + public: + MenuProxyStyle(QStyle * style = 0) : QProxyStyle(style) {} + MenuProxyStyle(const QString & key) : QProxyStyle(key) {} + + virtual int pixelMetric(QStyle::PixelMetric metric, const QStyleOption * option = 0, const QWidget * widget = 0 ) const { + switch ( metric ) { + case QStyle::PM_SmallIconSize: + return 25; + default: + return QProxyStyle::pixelMetric( metric, option, widget ); + } + } +}; \ No newline at end of file