LogarithmPlotter/qml/AppMenuBar.qml

86 lines
2.5 KiB
QML
Raw Normal View History

/**
* Logarithm Graph Creator - Create graphs with logarithm scales.
* Copyright (C) 2020 Ad5001
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import QtQuick 2.12
import QtQuick.Controls 2.12
2020-12-22 22:19:00 +00:00
import "js/objects.js" as Objects
MenuBar {
Menu {
title: qsTr("&File")
Action {
text: qsTr("&Load...")
shortcut: StandardKey.Open
onTriggered: settings.load()
icon.name: 'fileopen'
}
Action {
text: qsTr("&Save")
shortcut: StandardKey.Save
onTriggered: settings.save()
icon.name: 'filesave'
}
Action {
text: qsTr("Save &As...")
shortcut: StandardKey.SaveAs
onTriggered: settings.saveAs()
icon.name: 'filesaveas'
}
MenuSeparator { }
Action {
text: qsTr("&Quit")
shortcut: StandardKey.Quit
onTriggered: Qt.quit()
icon.name: 'application-exit'
}
}
Menu {
title: qsTr("&Edit")
Action {
text: qsTr("&Copy diagram")
shortcut: StandardKey.Copy
onTriggered: root.copyDiagramToClipboard()
icon.name: 'editcopy'
}
}
2020-12-22 22:19:00 +00:00
Menu {
title: qsTr("&Create")
// Services repeater
Repeater {
model: Object.keys(Objects.types)
MenuItem {
text: modelData
visible: Objects.types[modelData].createable()
height: visible ? implicitHeight : 0
icon.source: './icons/'+modelData+'.svg' // Default to dark version
onTriggered: {
Objects.createNewRegisteredObject(modelData)
objectLists.update()
}
}
}
}
Menu {
title: qsTr("&Help")
Action { text: qsTr("&About") }
}
}