diff options
author | Aurindam Jana <aurindam.jana@digia.com> | 2012-11-21 14:00:41 +0100 |
---|---|---|
committer | Aurindam Jana <aurindam.jana@digia.com> | 2012-11-27 17:19:06 +0100 |
commit | 5f77ebae476ee3f8b1872861fb8317f01a4fd373 (patch) | |
tree | 29598eebad1b11558ead736108c2834a5d4839f7 /src/plugins/qmljstools/qmlconsoleview.cpp | |
parent | 1bf4612c92a2f645fae3801ad7e97448197c9b90 (diff) | |
download | qt-creator-5f77ebae476ee3f8b1872861fb8317f01a4fd373.tar.gz |
QML/JS Console: Use Manhattan Style
Change-Id: Icae8039350a0d52d72fbf79bab850681e627d92f
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
Diffstat (limited to 'src/plugins/qmljstools/qmlconsoleview.cpp')
-rw-r--r-- | src/plugins/qmljstools/qmlconsoleview.cpp | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/src/plugins/qmljstools/qmlconsoleview.cpp b/src/plugins/qmljstools/qmlconsoleview.cpp index 8d16d9c77f..a78b2c9b37 100644 --- a/src/plugins/qmljstools/qmlconsoleview.cpp +++ b/src/plugins/qmljstools/qmlconsoleview.cpp @@ -32,9 +32,9 @@ #include "qmlconsoleitemmodel.h" #include <texteditor/basetexteditor.h> +#include <coreplugin/manhattanstyle.h> #include <QMouseEvent> -#include <QProxyStyle> #include <QPainter> #include <QApplication> #include <QClipboard> @@ -42,20 +42,24 @@ #include <QFileInfo> #include <QUrl> #include <QScrollBar> +#include <QStyleFactory> +#include <QString> using namespace QmlJS; namespace QmlJSTools { namespace Internal { -class QmlConsoleViewStyle : public QProxyStyle +class QmlConsoleViewStyle : public ManhattanStyle { public: + QmlConsoleViewStyle(const QString &baseStyleName) : ManhattanStyle(baseStyleName) {} + void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = 0) const { if (element != QStyle::PE_PanelItemViewRow) - QProxyStyle::drawPrimitive(element, option, painter, widget); + ManhattanStyle::drawPrimitive(element, option, painter, widget); } int styleHint(StyleHint hint, const QStyleOption *option = 0, const QWidget *widget = 0, @@ -63,7 +67,7 @@ public: if (hint == SH_ItemView_ShowDecorationSelected) return 0; else - return QProxyStyle::styleHint(hint, option, widget, returnData); + return ManhattanStyle::styleHint(hint, option, widget, returnData); } }; @@ -97,7 +101,24 @@ QmlConsoleView::QmlConsoleView(QWidget *parent) : "QTreeView::branch:open:has-children:has-siblings {" "border-image: none;" "image: none; }")); - QmlConsoleViewStyle *style = new QmlConsoleViewStyle; + + QString baseName = QApplication::style()->objectName(); +#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) + if (baseName == QLatin1String("windows")) { + // Sometimes we get the standard windows 95 style as a fallback + if (QStyleFactory::keys().contains("Fusion")) + baseName = QLatin1String("fusion"); // Qt5 + else { // Qt4 + // e.g. if we are running on a KDE4 desktop + QByteArray desktopEnvironment = qgetenv("DESKTOP_SESSION"); + if (desktopEnvironment == "kde") + baseName = QLatin1String("plastique"); + else + baseName = QLatin1String("cleanlooks"); + } + } +#endif + QmlConsoleViewStyle *style = new QmlConsoleViewStyle(baseName); setStyle(style); style->setParent(this); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |