From dafdf290d0f9cd30fc1258b42349e036b586e6d6 Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Mon, 24 Oct 2016 11:12:03 +0200 Subject: [PATCH] QmlDesigner: prepare centerWidget to use styled QTabWidget Change-Id: Ibcc6e7d5866df50448b54ecc4f2aff340b353f77 Reviewed-by: Thomas Hartmann --- .../components/resources/centerwidget.css | 33 +++++++++++++++++++ .../components/resources/resources.qrc | 1 + src/plugins/qmldesigner/designmodewidget.cpp | 15 ++++++--- 3 files changed, 44 insertions(+), 5 deletions(-) create mode 100644 src/plugins/qmldesigner/components/resources/centerwidget.css diff --git a/src/plugins/qmldesigner/components/resources/centerwidget.css b/src/plugins/qmldesigner/components/resources/centerwidget.css new file mode 100644 index 00000000000..dd60f7f7186 --- /dev/null +++ b/src/plugins/qmldesigner/components/resources/centerwidget.css @@ -0,0 +1,33 @@ +QWidget { + background-color: creatorTheme.QmlDesignerTabDark +} + +QTabWidget#centralTabWidget::pane { + border: 0px; + background-color: creatorTheme.QmlDesignerBackgroundColorDarkAlternate; +} + +QTabWidget#centralTabWidget::tab-bar { alignment: right; } + +QTabBar::tab:selected { + border: none; + background-color: creatorTheme.QmlDesignerTabLight; + color: creatorTheme.QmlDesignerTabDark; +} + +QTabBar::tab { + width: 16px; + height: 80px; + + border-image: none; + background-color: creatorTheme.QmlDesignerTabDark; + color: creatorTheme.QmlDesignerTabLight; + + margin-top: 0x; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + font: bold; + font-size: 11px; +} + diff --git a/src/plugins/qmldesigner/components/resources/resources.qrc b/src/plugins/qmldesigner/components/resources/resources.qrc index 8adecdd5db1..aeb286a4143 100644 --- a/src/plugins/qmldesigner/components/resources/resources.qrc +++ b/src/plugins/qmldesigner/components/resources/resources.qrc @@ -4,5 +4,6 @@ stylesheet.css scrollbar.css formeditorstylesheet.css + centerwidget.css diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp index b162816ebdd..64c5bbc26bf 100644 --- a/src/plugins/qmldesigner/designmodewidget.cpp +++ b/src/plugins/qmldesigner/designmodewidget.cpp @@ -471,7 +471,7 @@ void DesignModeWidget::addNavigatorHistoryEntry(const Utils::FileName &fileName) ++m_navigatorHistoryCounter; } -static QWidget *createWidgetsInTabWidget(const QList &widgetInfos) +static QTabWidget *createWidgetsInTabWidget(const QList &widgetInfos) { QTabWidget *tabWidget = new QTabWidget; @@ -512,13 +512,18 @@ static Core::MiniSplitter *createCentralSplitter(const QList &widget auto outputPanePlaceholder = new StyledOutputpanePlaceHolder(Core::Constants::MODE_DESIGN, outputPlaceholderSplitter); - if (centralWidgetInfos.count() == 1) - outputPlaceholderSplitter->addWidget(centralWidgetInfos.first().widget); - else - outputPlaceholderSplitter->addWidget(createWidgetsInTabWidget(centralWidgetInfos)); + QTabWidget* tabWidget = createWidgetsInTabWidget(centralWidgetInfos); + tabWidget->setObjectName("centralTabWidget"); + tabWidget->setTabPosition(QTabWidget::East); + tabWidget->setTabBarAutoHide(true); + + outputPlaceholderSplitter->addWidget(tabWidget); outputPlaceholderSplitter->addWidget(outputPanePlaceholder); + QByteArray sheet = Utils::FileReader::fetchQrc(":/qmldesigner/centerwidget.css"); + tabWidget->setStyleSheet(Theming::replaceCssColors(QString::fromUtf8(sheet))); + outputPlaceholderSplitter->setStyleSheet(Theming::replaceCssColors(QString::fromUtf8(sheet))); return outputPlaceholderSplitter; }