Files
clide/qml/Components/ClideMenuBar.qml

154 lines
3.1 KiB
QML
Raw Normal View History

2026-01-31 08:02:16 -05:00
// SPDX-FileCopyrightText: 2026, Shaun Reed <shaunrd0@gmail.com>
//
// SPDX-License-Identifier: GNU General Public License v3.0 or later
2025-03-29 08:01:13 -04:00
import QtQuick
import QtQuick.Controls
2026-01-25 20:57:36 +00:00
import clide.module 1.0
2025-03-29 08:01:13 -04:00
MenuBar {
2026-02-01 18:40:00 -05:00
// Background for this MenuBar.
background: Rectangle {
2026-02-02 18:08:37 -05:00
color: RustColors.menubar
2026-01-25 20:57:36 +00:00
}
//
// File Menu
2025-03-29 08:01:13 -04:00
ClideMenu {
title: qsTr("&File")
2026-01-25 20:57:36 +00:00
ClideMenuItem {
2026-02-07 12:59:44 -05:00
action: Action {
id: actionNewProject
text: qsTr("&New Project...")
}
2025-03-29 08:01:13 -04:00
}
2026-01-25 20:57:36 +00:00
ClideMenuItem {
2026-02-07 12:59:44 -05:00
action: Action {
id: actionOpen
text: qsTr("&Open...")
}
2026-02-02 18:08:37 -05:00
2026-01-25 20:57:36 +00:00
onTriggered: FileSystem.setDirectory(FileSystem.filePath)
2025-03-29 08:01:13 -04:00
}
2026-01-25 20:57:36 +00:00
ClideMenuItem {
2026-02-07 12:59:44 -05:00
action: Action {
id: actionSave
text: qsTr("&Save")
}
2025-03-29 08:01:13 -04:00
}
MenuSeparator {
background: Rectangle {
border.color: color
2026-02-07 12:59:44 -05:00
color: Qt.darker(RustColors.menubar, 1)
2025-03-29 08:01:13 -04:00
implicitHeight: 3
implicitWidth: 200
}
}
2026-01-25 20:57:36 +00:00
ClideMenuItem {
2026-02-07 12:59:44 -05:00
action: Action {
id: actionExit
text: qsTr("&Exit")
onTriggered: Qt.quit()
}
2025-03-29 08:01:13 -04:00
}
}
2026-01-25 20:57:36 +00:00
//
// Edit Menu
2025-03-29 08:01:13 -04:00
ClideMenu {
title: qsTr("&Edit")
2026-01-25 20:57:36 +00:00
ClideMenuItem {
2026-02-07 12:59:44 -05:00
action: Action {
id: actionUndo
text: qsTr("&Undo")
}
2025-03-29 08:01:13 -04:00
}
2026-01-25 20:57:36 +00:00
ClideMenuItem {
2026-02-07 12:59:44 -05:00
action: Action {
id: actionRedo
text: qsTr("&Redo")
}
2025-03-29 08:01:13 -04:00
}
2026-01-25 20:57:36 +00:00
ClideMenuItem {
2026-02-07 12:59:44 -05:00
action: Action {
id: actionCut
text: qsTr("&Cut")
}
2025-03-29 08:01:13 -04:00
}
2026-01-25 20:57:36 +00:00
ClideMenuItem {
2026-02-07 12:59:44 -05:00
action: Action {
id: actionCopy
text: qsTr("&Copy")
}
2025-03-29 08:01:13 -04:00
}
2026-01-25 20:57:36 +00:00
ClideMenuItem {
2026-02-07 12:59:44 -05:00
action: Action {
id: actionPaste
text: qsTr("&Paste")
}
2025-03-29 08:01:13 -04:00
}
}
2026-01-25 20:57:36 +00:00
//
// View Menu
2025-03-29 08:01:13 -04:00
ClideMenu {
title: qsTr("&View")
2026-01-25 20:57:36 +00:00
ClideMenuItem {
2026-02-07 12:59:44 -05:00
action: Action {
id: actionAppearance
text: qsTr("&Appearance")
}
2025-03-29 08:01:13 -04:00
}
2026-01-25 20:57:36 +00:00
ClideMenuItem {
2026-02-07 12:59:44 -05:00
action: Action {
id: actionToolWindows
text: qsTr("&Tool Windows")
}
2025-03-29 08:01:13 -04:00
}
}
2026-01-25 20:57:36 +00:00
//
// Help Menu
ClideAboutWindow {
id: clideAbout
2026-02-02 18:08:37 -05:00
}
2025-03-29 08:01:13 -04:00
ClideMenu {
title: qsTr("&Help")
2026-01-25 20:57:36 +00:00
ClideMenuItem {
2026-02-07 12:59:44 -05:00
action: Action {
id: actionDocumentation
2026-02-02 18:08:37 -05:00
2026-02-07 12:59:44 -05:00
text: qsTr("&Documentation")
}
2026-02-02 18:08:37 -05:00
}
2026-02-07 12:59:44 -05:00
ClideMenuItem {
action: Action {
id: actionAbout
2026-02-02 18:08:37 -05:00
2026-02-07 12:59:44 -05:00
text: qsTr("&About")
2026-02-02 18:08:37 -05:00
2026-02-07 12:59:44 -05:00
// Toggle the about window with the menu item is clicked.
onTriggered: clideAbout.visible = !clideAbout.visible
}
2026-02-02 18:08:37 -05:00
}
}
2025-03-29 08:01:13 -04:00
}