// One place for the look: colors, spacing, fonts. The window, the cards and // the dialogs all read from here, so re-theming (or swapping in Kirigami's // Kirigami.Theme) is a single file. pragma Singleton import QtQuick QtObject { // Breeze-dark-ish (the desktop the app is built for), no hard contrast. readonly property color bg: "#15181a" readonly property color surface: "#1e2225" readonly property color surfaceAlt: "#262b2f" readonly property color surfaceHi: "#313840" readonly property color border: "#343b41" readonly property color text: "#eff0f1" readonly property color textDim: "#9aa2a8" readonly property color textFaint: "#6d757b" readonly property color accent: "#3daee9" readonly property color accentDim: "#1d6f95" readonly property color ok: "#27ae60" readonly property color warn: "#f67400" readonly property color err: "#da4453" readonly property int radius: 6 readonly property int radiusSm: 3 readonly property int gap: 8 readonly property int gapL: 14 readonly property int pad: 12 readonly property int padL: 16 readonly property int bodySize: 14 readonly property int smallSize: 12 readonly property int monoSize: 13 readonly property string mono: "monospace" readonly property int sidebarWidth: 268 readonly property int contentMax: 1100 // Layout: below the breakpoint the sidebar slides over the transcript // instead of taking a column, and controls stay thumb-sized above it // (a finger needs ~34-40 px, a mouse is happy with 26). readonly property int compactBreakpoint: 880 readonly property int touchTarget: 34 readonly property int segmentHeight: 30 readonly property int headerHeight: 42 readonly property int jumpButton: 40 // The tool output / diff line colors, used by ToolCard. function lineColor(line) { if (line.startsWith("@@")) return accent if (line.startsWith("+++") || line.startsWith("---")) return textDim if (line.startsWith("+")) return ok if (line.startsWith("-")) return err return text } }