TUI #1

Merged
shaunrd0 merged 73 commits from ui into master 2026-01-25 20:57:37 +00:00
5 changed files with 58 additions and 46 deletions
Showing only changes of commit 3b8e407632 - Show all commits

View File

@ -22,6 +22,13 @@ The [Qt Installer](https://www.qt.io/download-qt-installer) will provide the lat
If using RustRover be sure to set your QML binaries path in the settings menu.
If Qt was installed to its default directory this will be `$HOME/Qt/6.8.3/gcc_64/bin/`.
Viewing documentation in the web browser is possible, but you will end up in a mess of tabs.
Using Qt Assistant is recommended. It comes with Qt6 when installed. Run the following command to start it.
```bash
nohup $HOME/Qt/6.8.3/gcc_64/bin/assistant > /dev/null 2>&1 &
```
### Resources
Some helpful links for reading up on QML if you're just getting started.

View File

@ -15,9 +15,7 @@ fn main() {
qml_files: &["qml/main.qml",
"qml/ProjectView/ClideProjectView.qml",
"qml/Editor/ClideEditor.qml",
"qml/Menu/ClideMenu.qml",
"qml/Menu/ClideMenuBar.qml",
"qml/Menu/ClideMenuBarItem.qml"],
"qml/Menu/ClideMenuBar.qml"],
..Default::default()
})
.build();

View File

@ -1,12 +0,0 @@
import QtQuick
import QtQuick.Controls
import clide.module 1.0
Menu {
background: Rectangle {
color: RustColors.menubar
implicitWidth: 100
radius: 2
}
}

View File

@ -4,11 +4,39 @@ import QtQuick.Controls
import clide.module 1.0
MenuBar {
// Base settings for each Menu.
component ClideMenu : Menu {
background: Rectangle {
color: RustColors.menubar
implicitWidth: 100
radius: 2
}
}
// Base settings for each MenuItem.
component ClideMenuItem : MenuItem {
id: root
background: Rectangle {
color: root.hovered ? RustColors.hovered : RustColors.unhovered
radius: 2.5
}
contentItem: IconLabel {
color: "black"
font.family: "Helvetica"
text: root.text
}
}
// Background for this MenuBar.
background: Rectangle {
color: RustColors.menubar
border.color: RustColors.menubar_border
}
//
// File Menu
Action {
id: actionNewProject
@ -34,13 +62,13 @@ MenuBar {
ClideMenu {
title: qsTr("&File")
ClideMenuBarItem {
ClideMenuItem {
action: actionNewProject
}
ClideMenuBarItem {
ClideMenuItem {
action: actionOpen
}
ClideMenuBarItem {
ClideMenuItem {
action: actionSave
}
MenuSeparator {
@ -51,10 +79,13 @@ MenuBar {
implicitWidth: 200
}
}
ClideMenuBarItem {
ClideMenuItem {
action: actionExit
}
}
//
// Edit Menu
Action {
id: actionUndo
@ -83,22 +114,25 @@ MenuBar {
ClideMenu {
title: qsTr("&Edit")
ClideMenuBarItem {
ClideMenuItem {
action: actionUndo
}
ClideMenuBarItem {
ClideMenuItem {
action: actionRedo
}
ClideMenuBarItem {
ClideMenuItem {
action: actionCut
}
ClideMenuBarItem {
ClideMenuItem {
action: actionCopy
}
ClideMenuBarItem {
ClideMenuItem {
action: actionPaste
}
}
//
// View Menu
Action {
id: actionToolWindows
@ -112,13 +146,16 @@ MenuBar {
ClideMenu {
title: qsTr("&View")
ClideMenuBarItem {
ClideMenuItem {
action: actionToolWindows
}
ClideMenuBarItem {
ClideMenuItem {
action: actionAppearance
}
}
//
// Help Menu
Action {
id: actionDocumentation
@ -132,10 +169,10 @@ MenuBar {
ClideMenu {
title: qsTr("&Help")
ClideMenuBarItem {
ClideMenuItem {
action: actionDocumentation
}
ClideMenuBarItem {
ClideMenuItem {
action: actionAbout
}
}

View File

@ -1,18 +0,0 @@
import QtQuick
import QtQuick.Controls
import clide.module 1.0
MenuItem {
id: root
background: Rectangle {
color: root.hovered ? RustColors.hovered : RustColors.unhovered
radius: 2.5
}
contentItem: IconLabel {
color: "black"
font.family: "Helvetica"
text: root.text
}
}