From d66253665a6d95394791ede9dea6a8d6972803c6 Mon Sep 17 00:00:00 2001 From: Alexander Volkov Date: Tue, 18 Sep 2018 16:41:44 +0300 Subject: [PATCH] QSideBar: take the icon size from a style Change-Id: I9c4677b42cc920b7bb016b61b8c1fd34fe67aa30 Reviewed-by: Richard Moe Gustavsen --- src/widgets/dialogs/qsidebar.cpp | 2 -- src/widgets/styles/qcommonstyle.cpp | 12 +++++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/widgets/dialogs/qsidebar.cpp b/src/widgets/dialogs/qsidebar.cpp index d52f18b406..2c8c66e1e2 100644 --- a/src/widgets/dialogs/qsidebar.cpp +++ b/src/widgets/dialogs/qsidebar.cpp @@ -381,8 +381,6 @@ QSidebar::QSidebar(QWidget *parent) : QListView(parent) void QSidebar::setModelAndUrls(QFileSystemModel *model, const QList &newUrls) { - // ### TODO make icon size dynamic - setIconSize(QSize(24,24)); setUniformItemSizes(true); urlModel = new QUrlModel(this); urlModel->setFileSystemModel(model); diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index 87d233f024..07cdcac5ab 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -100,6 +100,9 @@ #if QT_CONFIG(wizard) #include #endif +#if QT_CONFIG(filedialog) +#include +#endif #include #include #include @@ -4720,9 +4723,16 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid break; case PM_TabBarIconSize: - case PM_ListViewIconSize: ret = proxy()->pixelMetric(PM_SmallIconSize, opt, widget); break; + case PM_ListViewIconSize: +#if QT_CONFIG(filedialog) + if (qobject_cast(widget)) + ret = int(QStyleHelper::dpiScaled(24.)); + else +#endif + ret = proxy()->pixelMetric(PM_SmallIconSize, opt, widget); + break; case PM_ButtonIconSize: case PM_SmallIconSize: