diff options
author | Fabien Freling <fabien.freling@nokia.com> | 2010-11-04 13:03:46 (GMT) |
---|---|---|
committer | Fabien Freling <fabien.freling@nokia.com> | 2010-11-04 13:04:11 (GMT) |
commit | fe5a15fc4248a9258d74eea6f64769a3cb173788 (patch) | |
tree | e08cdee07b2b3ec0c341479624ae076a3942e0e3 /src/gui/widgets | |
parent | 953ff11a1b424dd288b6504c5a6f918acaebaa60 (diff) | |
download | Qt-fe5a15fc4248a9258d74eea6f64769a3cb173788.zip Qt-fe5a15fc4248a9258d74eea6f64769a3cb173788.tar.gz Qt-fe5a15fc4248a9258d74eea6f64769a3cb173788.tar.bz2 |
Update the offsets of the QToolBars inside
the unified toolbar on Mac OS X.
Task-number: QTBUG-12818
Reviewed-by: Samuel Rødal
Diffstat (limited to 'src/gui/widgets')
-rw-r--r-- | src/gui/widgets/qmainwindowlayout_mac.mm | 15 | ||||
-rw-r--r-- | src/gui/widgets/qmainwindowlayout_p.h | 1 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/gui/widgets/qmainwindowlayout_mac.mm b/src/gui/widgets/qmainwindowlayout_mac.mm index 126cc4a..dfde799 100644 --- a/src/gui/widgets/qmainwindowlayout_mac.mm +++ b/src/gui/widgets/qmainwindowlayout_mac.mm @@ -43,6 +43,7 @@ #include <qtoolbar.h> #include <private/qtoolbarlayout_p.h> #include <private/qt_cocoa_helpers_mac_p.h> +#include <private/qtoolbar_p.h> #ifndef QT_MAC_USE_COCOA #include <Carbon/Carbon.h> @@ -473,6 +474,16 @@ void QMainWindowLayout::insertIntoMacToolbar(QToolBar *before, QToolBar *toolbar #endif } +void QMainWindowLayout::updateUnifiedToolbarOffset() +{ + QPoint offset(0, 0); + + for (int i = 1; i < qtoolbarsInUnifiedToolbarList.length(); ++i) { + offset.setX(offset.x() + qtoolbarsInUnifiedToolbarList.at(i - 1)->size().width()); + qtoolbarsInUnifiedToolbarList.at(i)->d_func()->toolbar_offset = offset; + } +} + void QMainWindowLayout::removeFromMacToolbar(QToolBar *toolbar) { QHash<void *, QToolBar *>::iterator it = unifiedToolbarHash.begin(); @@ -546,11 +557,11 @@ void QMainWindowLayout::fixSizeInUnifiedToolbar(QToolBar *tb) const QMacCocoaAutoReleasePool pool; QWidgetItem layoutItem(tb); QSize size = layoutItem.maximumSize(); - NSSize nssize = NSMakeSize(size.width(), size.height() - 2); + NSSize nssize = NSMakeSize(size.width(), size.height()); [item setMaxSize:nssize]; size = layoutItem.minimumSize(); nssize.width = size.width(); - nssize.height = size.height() - 2; + nssize.height = size.height(); [item setMinSize:nssize]; } #else diff --git a/src/gui/widgets/qmainwindowlayout_p.h b/src/gui/widgets/qmainwindowlayout_p.h index a372216..e457cbc 100644 --- a/src/gui/widgets/qmainwindowlayout_p.h +++ b/src/gui/widgets/qmainwindowlayout_p.h @@ -335,6 +335,7 @@ public: QHash<QToolBar *, ToolBarSaveState> toolbarSaveState; QHash<QString, QToolBar *> cocoaItemIDToToolbarHash; void insertIntoMacToolbar(QToolBar *before, QToolBar *after); + void updateUnifiedToolbarOffset(); void removeFromMacToolbar(QToolBar *toolbar); void cleanUpMacToolbarItems(); void fixSizeInUnifiedToolbar(QToolBar *tb) const; |