diff --git a/imports/QtDesktop/ApplicationWindow.qml b/imports/QtDesktop/ApplicationWindow.qml index f692fa25e012a8fcee9edecdc6d510235def8a0c..b66b47fae41d0779e08e0605fee6868916150b15 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 9d712bb8ed5b42bebd2408e2952031252837678e..ffbaec05e045615ae0de72aeaceb942f00f94e1c 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)