path: root/src/widgets/widgets/qdockwidget.cpp
diff options
authorGabriel de Dietrich <>2018-01-26 18:36:35 -0800
committerGabriel de Dietrich <>2018-02-05 19:45:03 +0000
commit3de8e74d773185b4c72b9fc730fdbb7275bed2d6 (patch)
tree1a61f0d8baa6330957a6e41872a93997b3d3787d /src/widgets/widgets/qdockwidget.cpp
parent347cfa00a247a54bef290478715059e14da0c664 (diff)
QDockWidget: Use theme font for title
While the QPA theme provides support for dock widgets title font we never use it. This is a very similar solution to what we do in QMdiSubWindow, setting the platform theme font at few specific points. This patch also fixes the dock window title font on macOS, as queried in QCoreTextFontDatabase. Change-Id: Ie264e4e83e0d3d1e8f78bd378359f3063cc1d525 Reviewed-by: Morten Johan Sørvig <>
Diffstat (limited to 'src/widgets/widgets/qdockwidget.cpp')
1 files changed, 4 insertions, 0 deletions
diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp
index ac76217ece..e17c2c1f4c 100644
--- a/src/widgets/widgets/qdockwidget.cpp
+++ b/src/widgets/widgets/qdockwidget.cpp
@@ -653,6 +653,8 @@ void QDockWidgetPrivate::init()
QObject::connect(button, SIGNAL(clicked()), q, SLOT(close()));
layout->setWidgetForRole(QDockWidgetLayout::CloseButton, button);
+ font = QApplication::font("QDockWidgetTitle");
#ifndef QT_NO_ACTION
toggleViewAction = new QAction(q);
@@ -685,6 +687,7 @@ void QDockWidget::initStyleOption(QStyleOptionDockWidget *option) const
// If we are in a floating tab, init from the parent because the attributes and the geometry
// of the title bar should be taken from the floating window.
option->initFrom(floatingTab && !isFloating() ? parentWidget() : this);
+ option->fontMetrics = QFontMetrics(d->font);
option->rect = dwlayout->titleArea();
option->title = d->fixedWindowTitle;
option->closable = hasFeature(this, QDockWidget::DockWidgetClosable);
@@ -1481,6 +1484,7 @@ void QDockWidget::paintEvent(QPaintEvent *event)
// the title may wish to extend out to all sides (eg. Vista style)
QStyleOptionDockWidget titleOpt;
+ p.setFont(d_func()->font);
p.drawControl(QStyle::CE_DockWidgetTitle, titleOpt);