blob: 6eda9a5e9ea2ff771de95af7e384d5dd955f3153 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import QtQuick
import QtQuick.Controls
import QtLocation
MenuBar {
property var providerMenu: providerMenu
property var settingsMenu: settingsMenu
signal selectProvider(providerName: string)
signal selectSetting(settings: string);
function getMenuItem(menuText, parentItem) {
var menuItem = Qt.createQmlObject('import QtQuick; import QtQuick.Controls; MenuItem {}', parent)
menuItem.text = qsTr(menuText)
return menuItem
}
function clearMenu(menu) {
while (menu.contentData.length > 0)
menu.removeItem(menu.itemAt(0))
}
Menu {
id: providerMenu
title: qsTr("Provider")
function create(plugins) {
clearMenu(providerMenu)
for (var i = 0; i < plugins.length; i++) {
createProvider(plugins[i])
}
}
function createProvider(itemVal) {
var item = getMenuItem(itemVal, providerMenu)
addItem(item)
item.triggered.connect(function(){selectProvider(itemVal)})
}
}
Menu {
id: settingsMenu
title: qsTr("Settings")
function create(settings) {
clearMenu(settingsMenu)
for (var i = 0; i < settings.length; i++) {
createSetting(settings[i])
}
}
function createSetting(itemVal) {
var item = getMenuItem(itemVal, providerMenu)
addItem(item)
item.triggered.connect(function(){selectSetting(itemVal)})
}
}
}
|