summaryrefslogtreecommitdiffstats
path: root/src/gui/widgets
diff options
context:
space:
mode:
authorFabien Freling <fabien.freling@nokia.com>2010-11-04 13:03:46 (GMT)
committerFabien Freling <fabien.freling@nokia.com>2010-11-04 13:04:11 (GMT)
commitfe5a15fc4248a9258d74eea6f64769a3cb173788 (patch)
treee08cdee07b2b3ec0c341479624ae076a3942e0e3 /src/gui/widgets
parent953ff11a1b424dd288b6504c5a6f918acaebaa60 (diff)
downloadQt-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.mm15
-rw-r--r--src/gui/widgets/qmainwindowlayout_p.h1
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;