summaryrefslogtreecommitdiff
path: root/src/plugins/qmljstools/qmlconsoleview.cpp
diff options
context:
space:
mode:
authorAurindam Jana <aurindam.jana@digia.com>2012-11-21 14:00:41 +0100
committerAurindam Jana <aurindam.jana@digia.com>2012-11-27 17:19:06 +0100
commit5f77ebae476ee3f8b1872861fb8317f01a4fd373 (patch)
tree29598eebad1b11558ead736108c2834a5d4839f7 /src/plugins/qmljstools/qmlconsoleview.cpp
parent1bf4612c92a2f645fae3801ad7e97448197c9b90 (diff)
downloadqt-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.cpp31
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);