Handle Qt::WA_MacSmallSize in QApplication::font(const QWidget *).
authorFriedemann Kleint <Friedemann.Kleint@digia.com>
Mon, 19 Nov 2012 13:57:11 +0000 (14:57 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Tue, 20 Nov 2012 13:13:07 +0000 (14:13 +0100)
Task-number: QTBUG-27669
Task-number: QTBUG-27665
Change-Id: Id7eb8092076a57a755a53d1eb5c46d706756ca81
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
src/widgets/kernel/qapplication.cpp

index d62b8ef..ae426fd 100644 (file)
@@ -1512,6 +1512,14 @@ QFont QApplication::font(const QWidget *widget)
     FontHash *hash = app_fonts();
 
     if (widget && hash  && hash->size()) {
+#ifdef Q_OS_MAC
+        // short circuit for small and mini controls
+        if (widget->testAttribute(Qt::WA_MacSmallSize)) {
+            return hash->value(QByteArrayLiteral("QSmallFont"));
+        } else if (widget->testAttribute(Qt::WA_MacMiniSize)) {
+            return hash->value(QByteArrayLiteral("QMiniFont"));
+        }
+#endif
         QHash<QByteArray, QFont>::ConstIterator it =
                 hash->constFind(widget->metaObject()->className());
         if (it != hash->constEnd())