From 655672e21fe14ca046d4d73eacb09e002d25912c Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig <jens.bache-wiig@digia.com> Date: Sun, 4 Nov 2012 23:29:03 +0100 Subject: [PATCH] Fix menubar on mac This is not a complete solution but enough for at least a useful demonstration :) Change-Id: I86b944a6d894d5db63163850fbb092cc290bc8ea Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> --- imports/QtDesktop/ApplicationWindow.qml | 8 ++++++++ src/qtmenubar.cpp | 9 +-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/imports/QtDesktop/ApplicationWindow.qml b/imports/QtDesktop/ApplicationWindow.qml index f692fa25e..b66b47fae 100644 --- a/imports/QtDesktop/ApplicationWindow.qml +++ b/imports/QtDesktop/ApplicationWindow.qml @@ -46,6 +46,7 @@ Window { width: 320 height: 240 + property alias menuBar: menuBarArea.data property alias toolBar: toolBarArea.data property alias statusBar: statusBarArea.data default property alias data: contentArea.data @@ -58,6 +59,13 @@ Window { color: syspal.button } + Column { + id: menuBarArea + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + } + Column { id: toolBarArea diff --git a/src/qtmenubar.cpp b/src/qtmenubar.cpp index 9d712bb8e..ffbaec05e 100644 --- a/src/qtmenubar.cpp +++ b/src/qtmenubar.cpp @@ -45,7 +45,7 @@ #include <QtWidgets/QMenuBar> QtMenuBar::QtMenuBar(QQuickItem *parent) - : QQuickItem(parent), _menuBar(0) /*, _menuBar(new QMenuBar)*/ + : QQuickItem(parent), _menuBar(new QMenuBar) { connect(this, SIGNAL(parentChanged(QQuickItem *)), this, SLOT(updateParent(QQuickItem *))); setFlag(QQuickItem::ItemHasContents, false); @@ -62,17 +62,10 @@ QQmlListProperty<QtMenu> QtMenuBar::menus() void QtMenuBar::updateParent(QQuickItem *newParent) { - if (QWindowItem* window = qobject_cast<QWindowItem*>(parent())) - _menuBar = window->window()->menuBar(); - - //THIS IS WRONG... WE NEED TO DO THAT DIFFERENT! _menuBar->clear(); - foreach (QtMenu *menu, m_menus) { _menuBar->addMenu(menu->qmenu()); } - //THIS IS WRONG... WE NEED TO DO THAT DIFFERENT! - } void QtMenuBar::append_menu(QQmlListProperty<QtMenu> *list, QtMenu *menu) -- GitLab