diff --git a/src/plugins/coreplugin/core.qrc b/src/plugins/coreplugin/core.qrc index 9556742f0126bd6c4e20fd60e99b4d4f9b285bd9..3b20ee263c5621a41615a89dc79c5df36baf351d 100644 --- a/src/plugins/coreplugin/core.qrc +++ b/src/plugins/coreplugin/core.qrc @@ -112,5 +112,6 @@ <file>images/info@2x.png</file> <file>images/dark_fileicon.png</file> <file>images/dark_foldericon.png</file> + <file>images/Desktop.png</file> </qresource> </RCC> diff --git a/src/plugins/projectexplorer/images/Desktop.png b/src/plugins/coreplugin/images/Desktop.png similarity index 100% rename from src/plugins/projectexplorer/images/Desktop.png rename to src/plugins/coreplugin/images/Desktop.png diff --git a/src/plugins/coreplugin/manhattanstyle.cpp b/src/plugins/coreplugin/manhattanstyle.cpp index f4c95e8f0046489a6832fa2d4bb7f547a0b9f4ac..2d87a448a2e165b2f19f4f8481a5976de20b1e28 100644 --- a/src/plugins/coreplugin/manhattanstyle.cpp +++ b/src/plugins/coreplugin/manhattanstyle.cpp @@ -34,6 +34,7 @@ #include <coreplugin/coreconstants.h> +#include <utils/algorithm.h> #include <utils/hostosinfo.h> #include <utils/stylehelper.h> @@ -336,6 +337,19 @@ QPixmap ManhattanStyle::standardPixmap(StandardPixmap standardPixmap, const QSty return pixmap; } +QIcon ManhattanStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption *option, const QWidget *widget) const +{ + QIcon icon = QProxyStyle::standardIcon(standardIcon, option, widget); + if (standardIcon == QStyle::SP_ComputerIcon) { + // Ubuntu has in some versions a 16x16 icon, see QTCREATORBUG-12832 + const QList<QSize> &sizes = icon.availableSizes(); + if (Utils::allOf(sizes, [](const QSize &size) { return size.width() < 32;})) { + icon = QIcon(QLatin1String(":/core/images/Desktop.png")); + } + } + return icon; +} + int ManhattanStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget, QStyleHintReturn *returnData) const { diff --git a/src/plugins/coreplugin/manhattanstyle.h b/src/plugins/coreplugin/manhattanstyle.h index 1d9d766b72a5c30a9a5f110f8939baa700e68ed4..bb7993c93a5fac849947db355107de3ab6921c26 100644 --- a/src/plugins/coreplugin/manhattanstyle.h +++ b/src/plugins/coreplugin/manhattanstyle.h @@ -56,6 +56,7 @@ public: SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, const QPoint &pos, const QWidget *widget = 0) const; QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt, const QWidget *widget = 0) const; + QIcon standardIcon(StandardPixmap standardIcon, const QStyleOption *option = 0, const QWidget *widget = 0) const; int styleHint(StyleHint hint, const QStyleOption *option = 0, const QWidget *widget = 0, QStyleHintReturn *returnData = 0) const; QRect itemRect(QPainter *p, const QRect &r, int flags, bool enabled, const QPixmap *pixmap, const QString &text, int len = -1) const; QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *opt) const;