summaryrefslogtreecommitdiff
path: root/src/plugins/coreplugin/manhattanstyle.cpp
diff options
context:
space:
mode:
authorRobert Loehning <robert.loehning@theqtcompany.com>2015-05-21 16:58:21 +0200
committerDaniel Teske <daniel.teske@theqtcompany.com>2015-05-21 15:51:37 +0000
commit661c68fffe49dde5be2bd01f85ef5d0e2e5a0695 (patch)
tree6d5a8412ea3ad2f4533bad1329e6d543991caab7 /src/plugins/coreplugin/manhattanstyle.cpp
parenta19f9f683a3114047810935257c8ac4d5e476171 (diff)
downloadqt-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.cpp14
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
{