summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac.mm1
-rw-r--r--tests/auto/qmainwindow/tst_qmainwindow.cpp19
2 files changed, 20 insertions, 0 deletions
diff --git a/src/gui/kernel/qt_cocoa_helpers_mac.mm b/src/gui/kernel/qt_cocoa_helpers_mac.mm
index 7d23abf..3945754 100644
--- a/src/gui/kernel/qt_cocoa_helpers_mac.mm
+++ b/src/gui/kernel/qt_cocoa_helpers_mac.mm
@@ -193,6 +193,7 @@ void macWindowToolbarShow(const QWidget *widget, bool show )
}
}
#else
+ qt_widget_private(const_cast<QWidget *>(widget))->updateFrameStrut();
ShowHideWindowToolbar(wnd, show, false);
#endif
}
diff --git a/tests/auto/qmainwindow/tst_qmainwindow.cpp b/tests/auto/qmainwindow/tst_qmainwindow.cpp
index 5a69d9c..e427863 100644
--- a/tests/auto/qmainwindow/tst_qmainwindow.cpp
+++ b/tests/auto/qmainwindow/tst_qmainwindow.cpp
@@ -109,6 +109,7 @@ private slots:
void centralWidgetSize();
void dockWidgetSize();
void QTBUG2774_stylechange();
+ void toggleUnifiedTitleAndToolBarOnMac();
};
// Testing get/set functions
@@ -1747,6 +1748,24 @@ void tst_QMainWindow::QTBUG2774_stylechange()
}
}
+void tst_QMainWindow::toggleUnifiedTitleAndToolBarOnMac()
+{
+#ifdef Q_OS_MAC
+ QMainWindow mw;
+ QToolBar *tb = new QToolBar;
+ tb->addAction("Test");
+ mw.addToolBar(tb);
+ mw.setUnifiedTitleAndToolBarOnMac(true);
+ mw.show();
+ QRect frameGeometry = mw.frameGeometry();
+ mw.setUnifiedTitleAndToolBarOnMac(false);
+ QVERIFY(frameGeometry.topLeft() == mw.frameGeometry().topLeft());
+ mw.setUnifiedTitleAndToolBarOnMac(true);
+ QVERIFY(frameGeometry.topLeft() == mw.frameGeometry().topLeft());
+#else
+ QSKIP("Mac specific test", SkipAll);
+#endif
+}
QTEST_MAIN(tst_QMainWindow)