Introduces a new `WindowControls` component in the desktop top bar with minimize, maximize/restore, and close actions for the focused window. `WindowService` now exposes focused-window presence/maximized state plus focused-window convenience actions to support this UI. Also extends Nebula UI with a reusable `NebulaToolTip`, keyboard/pressed-state support in `NebulaIconButton`, new window-control glyphs in `NebulaIcon`, and theme tokens for pressed/danger hover states, with CMake and README updates to register/document the new components.
59 lines
2.4 KiB
QML
59 lines
2.4 KiB
QML
pragma Singleton
|
|
|
|
import QtQuick
|
|
|
|
QtObject {
|
|
// Colours from the Nebula Desktop React prototype (tokens.css).
|
|
readonly property color background: "#0b0f16"
|
|
readonly property color backgroundDeep: "#080b11"
|
|
|
|
readonly property color surface: Qt.rgba(20 / 255, 26 / 255, 36 / 255, 0.78)
|
|
readonly property color surfaceRaised: Qt.rgba(32 / 255, 40 / 255, 54 / 255, 0.9)
|
|
readonly property color topBarBackground: Qt.rgba(10 / 255, 13 / 255, 18 / 255, 0.55)
|
|
|
|
readonly property color border: Qt.rgba(232 / 255, 236 / 255, 242 / 255, 0.08)
|
|
readonly property color borderStrong: Qt.rgba(232 / 255, 236 / 255, 242 / 255, 0.14)
|
|
|
|
readonly property color textPrimary: "#e8ecf2"
|
|
readonly property color textSecondary: "#8e99ab"
|
|
readonly property color textTertiary: "#6b7587"
|
|
|
|
readonly property color accent: "#7ea0c4"
|
|
readonly property color accentStrong: "#9bb6d4"
|
|
readonly property color accentSoft: Qt.rgba(126 / 255, 160 / 255, 196 / 255, 0.16)
|
|
|
|
readonly property color danger: "#c98888"
|
|
readonly property color focus: Qt.rgba(126 / 255, 160 / 255, 196 / 255, 0.55)
|
|
|
|
readonly property color hoverFill: Qt.rgba(1, 1, 1, 0.06)
|
|
readonly property color pressedFill: Qt.rgba(1, 1, 1, 0.10)
|
|
readonly property color dangerSoft: Qt.rgba(201 / 255, 136 / 255, 136 / 255, 0.18)
|
|
readonly property color dangerSoftStrong: Qt.rgba(201 / 255, 136 / 255, 136 / 255, 0.28)
|
|
readonly property color tileHover: Qt.rgba(1, 1, 1, 0.05)
|
|
readonly property color iconWell: Qt.rgba(1, 1, 1, 0.05)
|
|
readonly property color iconWellHighlight: Qt.rgba(1, 1, 1, 0.06)
|
|
readonly property color searchFill: Qt.rgba(8 / 255, 11 / 255, 17 / 255, 0.45)
|
|
readonly property color shadow: Qt.rgba(0, 0, 0, 0.42)
|
|
|
|
readonly property int radiusSmall: 6
|
|
readonly property int radiusMedium: 10
|
|
readonly property int radiusLarge: 14
|
|
|
|
readonly property int spacingSmall: 8
|
|
readonly property int spacingMedium: 16
|
|
readonly property int spacingLarge: 24
|
|
|
|
readonly property int animationFast: 120
|
|
readonly property int animationNormal: 200
|
|
|
|
readonly property int topBarHeight: 40
|
|
readonly property int controlHeight: 28
|
|
readonly property int searchHeight: 36
|
|
|
|
readonly property int fontSize: 13
|
|
readonly property int fontSizeApp: 12
|
|
readonly property int fontSizeSmall: 11
|
|
|
|
readonly property string fontFamily: "Ubuntu"
|
|
}
|