forked from qt-creator/qt-creator
QML/JS Console: Use Manhattan Style
Change-Id: Icae8039350a0d52d72fbf79bab850681e627d92f Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user