diff options
author | Robert Loehning <robert.loehning@theqtcompany.com> | 2015-05-21 16:58:21 +0200 |
---|---|---|
committer | Daniel Teske <daniel.teske@theqtcompany.com> | 2015-05-21 15:51:37 +0000 |
commit | 661c68fffe49dde5be2bd01f85ef5d0e2e5a0695 (patch) | |
tree | 6d5a8412ea3ad2f4533bad1329e6d543991caab7 /src/plugins/coreplugin/manhattanstyle.cpp | |
parent | a19f9f683a3114047810935257c8ac4d5e476171 (diff) | |
download | qt-creator-661c68fffe49dde5be2bd01f85ef5d0e2e5a0695.tar.gz |
Target Selector: Fall back to built-in Desktop icon
If the style doesn't offer any icons that have at least 32 pixels
Change-Id: I840d73a0b4bdee695bb68df1c3973ee419db012e
Task-number: QTCREATORBUG-12832
Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Diffstat (limited to 'src/plugins/coreplugin/manhattanstyle.cpp')
-rw-r--r-- | src/plugins/coreplugin/manhattanstyle.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/coreplugin/manhattanstyle.cpp b/src/plugins/coreplugin/manhattanstyle.cpp index f4c95e8f00..2d87a448a2 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 { |