diff --git a/src/widgets/styles/images/titlebar-contexthelp-16.png b/src/widgets/styles/images/titlebar-contexthelp-16.png new file mode 100644 index 00000000000..2cead199102 Binary files /dev/null and b/src/widgets/styles/images/titlebar-contexthelp-16.png differ diff --git a/src/widgets/styles/images/titlebar-contexthelp-32.png b/src/widgets/styles/images/titlebar-contexthelp-32.png new file mode 100644 index 00000000000..1cd4843d5e8 Binary files /dev/null and b/src/widgets/styles/images/titlebar-contexthelp-32.png differ diff --git a/src/widgets/styles/images/titlebar-contexthelp-48.png b/src/widgets/styles/images/titlebar-contexthelp-48.png new file mode 100644 index 00000000000..9b170687bee Binary files /dev/null and b/src/widgets/styles/images/titlebar-contexthelp-48.png differ diff --git a/src/widgets/styles/images/titlebar-max-16.png b/src/widgets/styles/images/titlebar-max-16.png new file mode 100644 index 00000000000..101a7eac2b9 Binary files /dev/null and b/src/widgets/styles/images/titlebar-max-16.png differ diff --git a/src/widgets/styles/images/titlebar-max-32.png b/src/widgets/styles/images/titlebar-max-32.png new file mode 100644 index 00000000000..529c54f61d5 Binary files /dev/null and b/src/widgets/styles/images/titlebar-max-32.png differ diff --git a/src/widgets/styles/images/titlebar-max-48.png b/src/widgets/styles/images/titlebar-max-48.png new file mode 100644 index 00000000000..cfa0b67edf6 Binary files /dev/null and b/src/widgets/styles/images/titlebar-max-48.png differ diff --git a/src/widgets/styles/images/titlebar-min-16.png b/src/widgets/styles/images/titlebar-min-16.png new file mode 100644 index 00000000000..95e714b5221 Binary files /dev/null and b/src/widgets/styles/images/titlebar-min-16.png differ diff --git a/src/widgets/styles/images/titlebar-min-32.png b/src/widgets/styles/images/titlebar-min-32.png new file mode 100644 index 00000000000..0b9afedecf4 Binary files /dev/null and b/src/widgets/styles/images/titlebar-min-32.png differ diff --git a/src/widgets/styles/images/titlebar-min-48.png b/src/widgets/styles/images/titlebar-min-48.png new file mode 100644 index 00000000000..b59a336d36c Binary files /dev/null and b/src/widgets/styles/images/titlebar-min-48.png differ diff --git a/src/widgets/styles/images/titlebar-shade-16.png b/src/widgets/styles/images/titlebar-shade-16.png new file mode 100644 index 00000000000..cc870a1e5c0 Binary files /dev/null and b/src/widgets/styles/images/titlebar-shade-16.png differ diff --git a/src/widgets/styles/images/titlebar-shade-32.png b/src/widgets/styles/images/titlebar-shade-32.png new file mode 100644 index 00000000000..b785b8e2166 Binary files /dev/null and b/src/widgets/styles/images/titlebar-shade-32.png differ diff --git a/src/widgets/styles/images/titlebar-shade-48.png b/src/widgets/styles/images/titlebar-shade-48.png new file mode 100644 index 00000000000..42b75b4a0cc Binary files /dev/null and b/src/widgets/styles/images/titlebar-shade-48.png differ diff --git a/src/widgets/styles/images/titlebar-unshade-16.png b/src/widgets/styles/images/titlebar-unshade-16.png new file mode 100644 index 00000000000..ef19de6c2fb Binary files /dev/null and b/src/widgets/styles/images/titlebar-unshade-16.png differ diff --git a/src/widgets/styles/images/titlebar-unshade-32.png b/src/widgets/styles/images/titlebar-unshade-32.png new file mode 100644 index 00000000000..9f74bb0ac78 Binary files /dev/null and b/src/widgets/styles/images/titlebar-unshade-32.png differ diff --git a/src/widgets/styles/images/titlebar-unshade-48.png b/src/widgets/styles/images/titlebar-unshade-48.png new file mode 100644 index 00000000000..bd17c3cf48a Binary files /dev/null and b/src/widgets/styles/images/titlebar-unshade-48.png differ diff --git a/src/widgets/styles/images/toolbar-ext-h-16.png b/src/widgets/styles/images/toolbar-ext-h-16.png new file mode 100644 index 00000000000..c6bd1b17845 Binary files /dev/null and b/src/widgets/styles/images/toolbar-ext-h-16.png differ diff --git a/src/widgets/styles/images/toolbar-ext-h-32.png b/src/widgets/styles/images/toolbar-ext-h-32.png new file mode 100644 index 00000000000..99c62698f26 Binary files /dev/null and b/src/widgets/styles/images/toolbar-ext-h-32.png differ diff --git a/src/widgets/styles/images/toolbar-ext-h-8.png b/src/widgets/styles/images/toolbar-ext-h-8.png new file mode 100644 index 00000000000..340a374bce8 Binary files /dev/null and b/src/widgets/styles/images/toolbar-ext-h-8.png differ diff --git a/src/widgets/styles/images/toolbar-ext-h-rtl-16.png b/src/widgets/styles/images/toolbar-ext-h-rtl-16.png new file mode 100644 index 00000000000..31c72892b44 Binary files /dev/null and b/src/widgets/styles/images/toolbar-ext-h-rtl-16.png differ diff --git a/src/widgets/styles/images/toolbar-ext-h-rtl-32.png b/src/widgets/styles/images/toolbar-ext-h-rtl-32.png new file mode 100644 index 00000000000..bfc333daacc Binary files /dev/null and b/src/widgets/styles/images/toolbar-ext-h-rtl-32.png differ diff --git a/src/widgets/styles/images/toolbar-ext-h-rtl-8.png b/src/widgets/styles/images/toolbar-ext-h-rtl-8.png new file mode 100644 index 00000000000..538e4083108 Binary files /dev/null and b/src/widgets/styles/images/toolbar-ext-h-rtl-8.png differ diff --git a/src/widgets/styles/images/toolbar-ext-v-10.png b/src/widgets/styles/images/toolbar-ext-v-10.png new file mode 100644 index 00000000000..2a6d0e4c70c Binary files /dev/null and b/src/widgets/styles/images/toolbar-ext-v-10.png differ diff --git a/src/widgets/styles/images/toolbar-ext-v-20.png b/src/widgets/styles/images/toolbar-ext-v-20.png new file mode 100644 index 00000000000..adc27f52b5c Binary files /dev/null and b/src/widgets/styles/images/toolbar-ext-v-20.png differ diff --git a/src/widgets/styles/images/toolbar-ext-v-5.png b/src/widgets/styles/images/toolbar-ext-v-5.png new file mode 100644 index 00000000000..21c670446c1 Binary files /dev/null and b/src/widgets/styles/images/toolbar-ext-v-5.png differ diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index 06590afe722..f78aca58ac9 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -5716,14 +5716,14 @@ static inline QString iconPngSuffix() { return QStringLiteral(".png"); } static void addIconFiles(const QString &prefix, const int sizes[], size_t count, QIcon &icon) { - for (size_t i = 0; i < count; ++i) { - const int size = sizes[i]; - icon.addFile(prefix + QString::number(size) + iconPngSuffix(), QSize(size, size)); - } + for (size_t i = 0; i < count; ++i) + icon.addFile(prefix + QString::number(sizes[i]) + iconPngSuffix()); } static const int dockTitleIconSizes[] = {10, 16, 20, 32, 48, 64}; - +static const int titleBarSizes[] = {16, 32, 48}; +static const int toolBarExtHSizes[] = {8, 16, 32}; +static const int toolBarExtVSizes[] = {5, 10, 20}; #endif // imageformat_png /*! @@ -6038,6 +6038,27 @@ QIcon QCommonStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption switch (standardIcon) { #ifndef QT_NO_IMAGEFORMAT_PNG + case SP_TitleBarMinButton: + addIconFiles(iconResourcePrefix() + QStringLiteral("titlebar-min-"), + titleBarSizes, sizeof(titleBarSizes)/sizeof(titleBarSizes[0]), icon); + break; + case SP_TitleBarMaxButton: + addIconFiles(iconResourcePrefix() + QStringLiteral("titlebar-max-"), + titleBarSizes, sizeof(titleBarSizes)/sizeof(titleBarSizes[0]), icon); + break; + case SP_TitleBarShadeButton: + addIconFiles(iconResourcePrefix() + QStringLiteral("titlebar-shade-"), + titleBarSizes, sizeof(titleBarSizes)/sizeof(titleBarSizes[0]), icon); + + break; + case SP_TitleBarUnshadeButton: + addIconFiles(iconResourcePrefix() + QStringLiteral("titlebar-unshade-"), + titleBarSizes, sizeof(titleBarSizes)/sizeof(titleBarSizes[0]), icon); + break; + case SP_TitleBarContextHelpButton: + addIconFiles(iconResourcePrefix() + QStringLiteral("titlebar-contexthelp-"), + titleBarSizes, sizeof(titleBarSizes)/sizeof(titleBarSizes[0]), icon); + break; case SP_FileDialogNewFolder: icon.addFile(QLatin1String(":/qt-project.org/styles/commonstyle/images/newdirectory-16.png"), QSize(16, 16)); icon.addFile(QLatin1String(":/qt-project.org/styles/commonstyle/images/newdirectory-32.png"), QSize(32, 32)); @@ -6246,6 +6267,17 @@ QIcon QCommonStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption addIconFiles(iconResourcePrefix() + QStringLiteral("normalizedockup-"), dockTitleIconSizes, sizeof(dockTitleIconSizes)/sizeof(dockTitleIconSizes[0]), icon); break; + case SP_ToolBarHorizontalExtensionButton: { + QString prefix = iconResourcePrefix() + QStringLiteral("toolbar-ext-h-"); + if (rtl) + prefix += QStringLiteral("rtl-"); + addIconFiles(prefix, toolBarExtHSizes, sizeof(toolBarExtHSizes)/sizeof(toolBarExtHSizes[0]), icon); + } + break; + case SP_ToolBarVerticalExtensionButton: + addIconFiles(iconResourcePrefix() + QStringLiteral("toolbar-ext-v-"), + toolBarExtVSizes, sizeof(toolBarExtVSizes)/sizeof(toolBarExtVSizes[0]), icon); + break; #endif // QT_NO_IMAGEFORMAT_PNG default: icon.addPixmap(proxy()->standardPixmap(standardIcon, option, widget)); diff --git a/src/widgets/styles/qstyle.qrc b/src/widgets/styles/qstyle.qrc index 93e4bf480e4..d3511ee754f 100644 --- a/src/widgets/styles/qstyle.qrc +++ b/src/widgets/styles/qstyle.qrc @@ -140,6 +140,30 @@ images/normalizedockup-32.png images/normalizedockup-48.png images/normalizedockup-64.png + images/toolbar-ext-h-8.png + images/toolbar-ext-h-16.png + images/toolbar-ext-h-32.png + images/toolbar-ext-h-rtl-8.png + images/toolbar-ext-h-rtl-16.png + images/toolbar-ext-h-rtl-32.png + images/toolbar-ext-v-5.png + images/toolbar-ext-v-10.png + images/toolbar-ext-v-20.png + images/titlebar-contexthelp-16.png + images/titlebar-contexthelp-32.png + images/titlebar-contexthelp-48.png + images/titlebar-max-16.png + images/titlebar-max-32.png + images/titlebar-max-48.png + images/titlebar-min-16.png + images/titlebar-min-32.png + images/titlebar-min-48.png + images/titlebar-shade-16.png + images/titlebar-shade-32.png + images/titlebar-shade-48.png + images/titlebar-unshade-16.png + images/titlebar-unshade-32.png + images/titlebar-unshade-48.png images/closedock-macstyle-16.png