// Copyright (C) 2022 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause import QtQuick import QtQuick.Controls import QtLocation MenuBar { id: menuBar property variant providerMenu: providerMenu property variant mapTypeMenu: mapTypeMenu property variant toolsMenu: toolsMenu property variant plugin property alias isFollowMe: toolsMenu.isFollowMe property alias isMiniMap: toolsMenu.isMiniMap signal selectProvider(string providerName) signal selectMapType(variant mapType) signal selectTool(string tool); signal toggleMapState(string state) function clearMenu(menu) { while (menu.count) menu.removeItem(menu.itemAt(0)) } Menu { id: providerMenu title: qsTr("Provider") function createMenu(plugins) { clearMenu(providerMenu) for (var i = 0; i < plugins.length; i++) { createProviderMenuItem(plugins[i]); } } function createProviderMenuItem(provider) { var action = Qt.createQmlObject('import QtQuick.Controls; Action{ text: "' + provider + '"; checkable: true; onTriggered: function(){selectProvider("' + provider + '")} }', providerMenu) addAction(action) } } Menu { id: mapTypeMenu title: qsTr("MapType") Component { id: mapTypeMenuActionComponent Action { } } function createMenu(map) { clearMenu(mapTypeMenu) for (var i = 0; i