QML/JS Console: Use Manhattan Style

Change-Id: Icae8039350a0d52d72fbf79bab850681e627d92f
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
This commit is contained in:
Aurindam Jana
2012-11-21 14:00:41 +01:00
parent 1bf4612c92
commit 5f77ebae47

View File

@@ -32,9 +32,9 @@
#include "qmlconsoleitemmodel.h" #include "qmlconsoleitemmodel.h"
#include <texteditor/basetexteditor.h> #include <texteditor/basetexteditor.h>
#include <coreplugin/manhattanstyle.h>
#include <QMouseEvent> #include <QMouseEvent>
#include <QProxyStyle>
#include <QPainter> #include <QPainter>
#include <QApplication> #include <QApplication>
#include <QClipboard> #include <QClipboard>
@@ -42,20 +42,24 @@
#include <QFileInfo> #include <QFileInfo>
#include <QUrl> #include <QUrl>
#include <QScrollBar> #include <QScrollBar>
#include <QStyleFactory>
#include <QString>
using namespace QmlJS; using namespace QmlJS;
namespace QmlJSTools { namespace QmlJSTools {
namespace Internal { namespace Internal {
class QmlConsoleViewStyle : public QProxyStyle class QmlConsoleViewStyle : public ManhattanStyle
{ {
public: public:
QmlConsoleViewStyle(const QString &baseStyleName) : ManhattanStyle(baseStyleName) {}
void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter,
const QWidget *widget = 0) const const QWidget *widget = 0) const
{ {
if (element != QStyle::PE_PanelItemViewRow) 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, int styleHint(StyleHint hint, const QStyleOption *option = 0, const QWidget *widget = 0,
@@ -63,7 +67,7 @@ public:
if (hint == SH_ItemView_ShowDecorationSelected) if (hint == SH_ItemView_ShowDecorationSelected)
return 0; return 0;
else 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 {" "QTreeView::branch:open:has-children:has-siblings {"
"border-image: none;" "border-image: none;"
"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); setStyle(style);
style->setParent(this); style->setParent(this);
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);