From 36a9d8a40c52401ced3d3702a82f793792e283c5 Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig <jbache@trolltech.com> Date: Tue, 23 Mar 2010 13:51:32 +0100 Subject: [PATCH] Some layout fixes I fixed the tab offset so that we remove the double border of the first tab also when only one tab is visible. --- src/plugins/coreplugin/manhattanstyle.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/plugins/coreplugin/manhattanstyle.cpp b/src/plugins/coreplugin/manhattanstyle.cpp index 4dd4ac6afae..ff4dbd16bea 100644 --- a/src/plugins/coreplugin/manhattanstyle.cpp +++ b/src/plugins/coreplugin/manhattanstyle.cpp @@ -90,6 +90,9 @@ bool panelWidget(const QWidget *widget) if (qobject_cast<const Utils::FancyMainWindow *>(widget)) return true; + if (qobject_cast<const QTabBar *>(widget)) + return styleEnabled(widget); + const QWidget *p = widget; while (p) { if (qobject_cast<const QToolBar *>(p) || @@ -270,8 +273,12 @@ void ManhattanStyle::polish(QWidget *widget) widget->setContentsMargins(0, 0, 0, 0); } } - if (panelWidget(widget)) { + + // Oxygen and possibly other styles override this + if (qobject_cast<QDockWidget*>(widget)) + widget->setContentsMargins(0, 0, 0, 0); + widget->setAttribute(Qt::WA_LayoutUsesWidgetRect, true); if (qobject_cast<QToolButton*>(widget)) { widget->setAttribute(Qt::WA_Hover); @@ -621,7 +628,8 @@ void ManhattanStyle::drawControl(ControlElement element, const QStyleOption *opt if (const QStyleOptionTabV3 *tab = qstyleoption_cast<const QStyleOptionTabV3 *>(option)) { QStyleOptionTabV3 adjustedTab = *tab; - if (tab->position == QStyleOptionTab::Beginning) { + if (tab->position == QStyleOptionTab::Beginning + || tab->position == QStyleOptionTab::OnlyOneTab) { if (option->direction == Qt::LeftToRight) adjustedTab.rect = adjustedTab.rect.adjusted(-1, 0, 0, 0); else -- GitLab