QCommonStyle: misc cleanup

Simplify addIconFiles() by passing an initializer list instead an
c-array + size

Task-number: QTBUG-118122
Change-Id: Id54bbe8436a9106e59b6fede81e31c3065623b4d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This commit is contained in:
Christian Ehrlicher 2023-10-14 11:06:14 +02:00
parent f2c2242c74
commit 7398645292

View File

@ -5892,16 +5892,18 @@ QPixmap QCommonStyle::standardPixmap(StandardPixmap sp, const QStyleOption *opti
static inline QString iconResourcePrefix() { return QStringLiteral(":/qt-project.org/styles/commonstyle/images/"); } static inline QString iconResourcePrefix() { return QStringLiteral(":/qt-project.org/styles/commonstyle/images/"); }
static inline QString iconPngSuffix() { return QStringLiteral(".png"); } static inline QString iconPngSuffix() { return QStringLiteral(".png"); }
static void addIconFiles(const QString &prefix, const int sizes[], size_t count, QIcon &icon) template <typename T>
static void addIconFiles(QStringView prefix, std::initializer_list<T> sizes, QIcon &icon)
{ {
for (size_t i = 0; i < count; ++i) const auto fullPrefix = iconResourcePrefix() + prefix;
icon.addFile(prefix + QString::number(sizes[i]) + iconPngSuffix()); for (int size : sizes)
icon.addFile(fullPrefix + QString::number(size) + iconPngSuffix());
} }
static const int dockTitleIconSizes[] = {10, 16, 20, 32, 48, 64}; static constexpr auto dockTitleIconSizes = {10, 16, 20, 32, 48, 64};
static const int titleBarSizes[] = {16, 32, 48}; static constexpr auto titleBarSizes = {16, 32, 48};
static const int toolBarExtHSizes[] = {8, 16, 32}; static constexpr auto toolBarExtHSizes = {8, 16, 32};
static const int toolBarExtVSizes[] = {5, 10, 20}; static constexpr auto toolBarExtVSizes = {5, 10, 20};
#endif // imageformat_png #endif // imageformat_png
/*! /*!
@ -6218,25 +6220,19 @@ QIcon QCommonStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption
switch (standardIcon) { switch (standardIcon) {
#ifndef QT_NO_IMAGEFORMAT_PNG #ifndef QT_NO_IMAGEFORMAT_PNG
case SP_TitleBarMinButton: case SP_TitleBarMinButton:
addIconFiles(iconResourcePrefix() + QStringLiteral("titlebar-min-"), addIconFiles(u"titlebar-min-", titleBarSizes, icon);
titleBarSizes, sizeof(titleBarSizes)/sizeof(titleBarSizes[0]), icon);
break; break;
case SP_TitleBarMaxButton: case SP_TitleBarMaxButton:
addIconFiles(iconResourcePrefix() + QStringLiteral("titlebar-max-"), addIconFiles(u"titlebar-max-", titleBarSizes, icon);
titleBarSizes, sizeof(titleBarSizes)/sizeof(titleBarSizes[0]), icon);
break; break;
case SP_TitleBarShadeButton: case SP_TitleBarShadeButton:
addIconFiles(iconResourcePrefix() + QStringLiteral("titlebar-shade-"), addIconFiles(u"titlebar-shade-", titleBarSizes, icon);
titleBarSizes, sizeof(titleBarSizes)/sizeof(titleBarSizes[0]), icon);
break; break;
case SP_TitleBarUnshadeButton: case SP_TitleBarUnshadeButton:
addIconFiles(iconResourcePrefix() + QStringLiteral("titlebar-unshade-"), addIconFiles(u"titlebar-unshade-", titleBarSizes, icon);
titleBarSizes, sizeof(titleBarSizes)/sizeof(titleBarSizes[0]), icon);
break; break;
case SP_TitleBarContextHelpButton: case SP_TitleBarContextHelpButton:
addIconFiles(iconResourcePrefix() + QStringLiteral("titlebar-contexthelp-"), addIconFiles(u"titlebar-contexthelp-", titleBarSizes, icon);
titleBarSizes, sizeof(titleBarSizes)/sizeof(titleBarSizes[0]), icon);
break; break;
case SP_FileDialogNewFolder: case SP_FileDialogNewFolder:
icon.addFile(":/qt-project.org/styles/commonstyle/images/newdirectory-16.png"_L1, QSize(16, 16)); icon.addFile(":/qt-project.org/styles/commonstyle/images/newdirectory-16.png"_L1, QSize(16, 16));
@ -6433,8 +6429,7 @@ QIcon QCommonStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption
icon.addFile(":/qt-project.org/styles/commonstyle/images/media-volume-muted-16.png"_L1, QSize(16, 16)); icon.addFile(":/qt-project.org/styles/commonstyle/images/media-volume-muted-16.png"_L1, QSize(16, 16));
break; break;
case SP_TitleBarCloseButton: case SP_TitleBarCloseButton:
addIconFiles(iconResourcePrefix() + QStringLiteral("closedock-"), addIconFiles(u"closedock-", dockTitleIconSizes, icon);
dockTitleIconSizes, sizeof(dockTitleIconSizes)/sizeof(dockTitleIconSizes[0]), icon);
break; break;
case SP_TitleBarMenuButton: case SP_TitleBarMenuButton:
# ifndef QT_NO_IMAGEFORMAT_XPM # ifndef QT_NO_IMAGEFORMAT_XPM
@ -6443,19 +6438,13 @@ QIcon QCommonStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption
icon.addFile(":/qt-project.org/qmessagebox/images/qtlogo-64.png"_L1); icon.addFile(":/qt-project.org/qmessagebox/images/qtlogo-64.png"_L1);
break; break;
case SP_TitleBarNormalButton: case SP_TitleBarNormalButton:
addIconFiles(iconResourcePrefix() + QStringLiteral("normalizedockup-"), addIconFiles(u"normalizedockup-", dockTitleIconSizes, icon);
dockTitleIconSizes, sizeof(dockTitleIconSizes)/sizeof(dockTitleIconSizes[0]), icon);
break; break;
case SP_ToolBarHorizontalExtensionButton: { case SP_ToolBarHorizontalExtensionButton:
QString prefix = iconResourcePrefix() + QStringLiteral("toolbar-ext-h-"); addIconFiles(rtl ? u"toolbar-ext-h-rtl-" : u"toolbar-ext-h-", toolBarExtHSizes, icon);
if (rtl)
prefix += QStringLiteral("rtl-");
addIconFiles(prefix, toolBarExtHSizes, sizeof(toolBarExtHSizes)/sizeof(toolBarExtHSizes[0]), icon);
}
break; break;
case SP_ToolBarVerticalExtensionButton: case SP_ToolBarVerticalExtensionButton:
addIconFiles(iconResourcePrefix() + QStringLiteral("toolbar-ext-v-"), addIconFiles(u"toolbar-ext-v-", toolBarExtVSizes, icon);
toolBarExtVSizes, sizeof(toolBarExtVSizes)/sizeof(toolBarExtVSizes[0]), icon);
break; break;
case SP_TabCloseButton: case SP_TabCloseButton:
icon.addFile(iconResourcePrefix() + u"standardbutton-closetab-16.png", QSize(16, 16), icon.addFile(iconResourcePrefix() + u"standardbutton-closetab-16.png", QSize(16, 16),