QCommonStyle: Add dock title bar icons
Add larger pixmaps for the dock title bar icons; override them by the XPM in fusion style to maintain the behavior. Task-number: QTBUG-38776 Change-Id: I7d0e022bbf620d2aad2b6ee011b8bb9a745d7c3b Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
BIN
src/widgets/styles/images/closedock-10.png
Normal file
After Width: | Height: | Size: 284 B |
BIN
src/widgets/styles/images/closedock-16.png
Normal file
After Width: | Height: | Size: 299 B |
BIN
src/widgets/styles/images/closedock-20.png
Normal file
After Width: | Height: | Size: 374 B |
BIN
src/widgets/styles/images/closedock-32.png
Normal file
After Width: | Height: | Size: 368 B |
BIN
src/widgets/styles/images/closedock-48.png
Normal file
After Width: | Height: | Size: 468 B |
BIN
src/widgets/styles/images/closedock-64.png
Normal file
After Width: | Height: | Size: 541 B |
BIN
src/widgets/styles/images/normalizedockup-10.png
Normal file
After Width: | Height: | Size: 138 B |
BIN
src/widgets/styles/images/normalizedockup-16.png
Normal file
After Width: | Height: | Size: 256 B |
BIN
src/widgets/styles/images/normalizedockup-20.png
Normal file
After Width: | Height: | Size: 143 B |
BIN
src/widgets/styles/images/normalizedockup-32.png
Normal file
After Width: | Height: | Size: 273 B |
BIN
src/widgets/styles/images/normalizedockup-48.png
Normal file
After Width: | Height: | Size: 279 B |
BIN
src/widgets/styles/images/normalizedockup-64.png
Normal file
After Width: | Height: | Size: 291 B |
@ -5709,6 +5709,22 @@ QPixmap QCommonStyle::standardPixmap(StandardPixmap sp, const QStyleOption *opti
|
||||
return QPixmap();
|
||||
}
|
||||
|
||||
#if QT_CONFIG(imageformat_png)
|
||||
static inline QString iconResourcePrefix() { return QStringLiteral(":/qt-project.org/styles/commonstyle/images/"); }
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
static const int dockTitleIconSizes[] = {10, 16, 20, 32, 48, 64};
|
||||
|
||||
#endif // imageformat_png
|
||||
|
||||
/*!
|
||||
\internal
|
||||
*/
|
||||
@ -6215,12 +6231,20 @@ QIcon QCommonStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption
|
||||
case SP_MediaVolumeMuted:
|
||||
icon.addFile(QLatin1String(":/qt-project.org/styles/commonstyle/images/media-volume-muted-16.png"), QSize(16, 16));
|
||||
break;
|
||||
case SP_TitleBarCloseButton:
|
||||
addIconFiles(iconResourcePrefix() + QStringLiteral("closedock-"),
|
||||
dockTitleIconSizes, sizeof(dockTitleIconSizes)/sizeof(dockTitleIconSizes[0]), icon);
|
||||
break;
|
||||
case SP_TitleBarMenuButton:
|
||||
# ifndef QT_NO_IMAGEFORMAT_XPM
|
||||
icon.addPixmap(titleBarMenuCachedPixmapFromXPM());
|
||||
# endif
|
||||
icon.addFile(QLatin1String(":/qt-project.org/qmessagebox/images/qtlogo-64.png"));
|
||||
break;
|
||||
case SP_TitleBarNormalButton:
|
||||
addIconFiles(iconResourcePrefix() + QStringLiteral("normalizedockup-"),
|
||||
dockTitleIconSizes, sizeof(dockTitleIconSizes)/sizeof(dockTitleIconSizes[0]), icon);
|
||||
break;
|
||||
#endif // QT_NO_IMAGEFORMAT_PNG
|
||||
default:
|
||||
icon.addPixmap(proxy()->standardPixmap(standardIcon, option, widget));
|
||||
|
@ -3769,6 +3769,19 @@ QRect QFusionStyle::subElementRect(SubElement sr, const QStyleOption *opt, const
|
||||
QIcon QFusionStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption *option,
|
||||
const QWidget *widget) const
|
||||
{
|
||||
#if QT_CONFIG(imageformat_xpm)
|
||||
switch (standardIcon) {
|
||||
case SP_TitleBarNormalButton:
|
||||
return QIcon(QPixmap(dock_widget_restore_xpm));
|
||||
case SP_TitleBarMinButton:
|
||||
return QIcon(QPixmap(workspace_minimize));
|
||||
case SP_TitleBarCloseButton:
|
||||
case SP_DockWidgetCloseButton:
|
||||
return QIcon(QPixmap(dock_widget_close_xpm));
|
||||
default:
|
||||
break;
|
||||
}
|
||||
#endif // imageformat_xpm
|
||||
return QCommonStyle::standardIcon(standardIcon, option, widget);
|
||||
}
|
||||
|
||||
|
@ -128,6 +128,18 @@
|
||||
<file>images/media-volume-16.png</file>
|
||||
<file>images/media-volume-muted-16.png</file>
|
||||
<file>images/fusion_groupbox.png</file>
|
||||
<file>images/closedock-10.png</file>
|
||||
<file>images/closedock-16.png</file>
|
||||
<file>images/closedock-20.png</file>
|
||||
<file>images/closedock-32.png</file>
|
||||
<file>images/closedock-48.png</file>
|
||||
<file>images/closedock-64.png</file>
|
||||
<file>images/normalizedockup-10.png</file>
|
||||
<file>images/normalizedockup-16.png</file>
|
||||
<file>images/normalizedockup-20.png</file>
|
||||
<file>images/normalizedockup-32.png</file>
|
||||
<file>images/normalizedockup-48.png</file>
|
||||
<file>images/normalizedockup-64.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/qt-project.org/styles/macstyle">
|
||||
<file alias="images/closedock-16.png">images/closedock-macstyle-16.png</file>
|
||||
|