added two new themes, reworked Crypto.qml and Stats.qml, standardized the buttons for the modules, added a new Sidebar widget which contains new 3 modules

This commit is contained in:
SomeElse
2026-05-28 08:24:03 +00:00
parent b9708ddfd0
commit 1b9ee3bbb3
39 changed files with 3652 additions and 267 deletions

View File

@@ -6,12 +6,16 @@ import "themes"
QtObject {
id: root
readonly property var theme: Goldencity
readonly property var theme: Lowlight
// ────────────────────────────────────────────────────────────────────────
// Widgets
// ────────────────────────────────────────────────────────────────────────
property bool enableBgDate: true
property bool sideBarSysInfo: true
property bool sideBarMpris: true
property bool sideBarWeather: true
property string sideBarPosition: "right" // "left" or "right"
property bool enablePolkit: true
// ────────────────────────────────────────────────────────────────────────
@@ -19,7 +23,7 @@ QtObject {
// ────────────────────────────────────────────────────────────────────────
// ── Position & Dimensions ─────────────────────────────────────────────────
property string barPosition: "bottom"
property string barPosition: "top"
property int barHeight: 35
property int margin: 15
property int radius: 20
@@ -70,6 +74,11 @@ QtObject {
property string statsLabelPosition: "right"
// If true, percentage labels are visible on startup without clicking.
property bool statsStartExpanded: false
property bool statsShowCpu: true
property bool statsShowMem: true
property bool statsShowDisk: true
property bool statsShowCpuTemp: true
property bool statsShowGpuTemp: true
// ── Volume Module ─────────────────────────────────────────────────────────
property bool volumeShakeEnabled: true // rotation shake for volume chip
@@ -115,11 +124,11 @@ QtObject {
// ────────────────────────────────────────────────────────────────────────
// ── Coin/currency pairs to cycle ──────────────────────────────────────────
// Each entry is a { coin, currency } object. The bar chip rotates to the
// next pair after each successful CoinGecko fetch.
// Each entry is a { coin, currency } object. The bar chip fetches one pair
// per timer tick and auto-rotates to the next after each successful fetch.
//
// coin CoinGecko coin ID (find them at https://api.coingecko.com/api/v3/coins/list)
// currency any quote currency CoinGecko supports: "usd", "eur", "brl", "btc", …
// coin CoinGecko coin ID, e.g. "bitcoin", "monero", "solana"
// currency quote currency: "usd", "eur", "brl", "btc", "eth",
//
// Single pair → [{ coin: "bitcoin", currency: "usd" }]
// Three pairs → [{ coin: "bitcoin", currency: "usd" },
@@ -128,7 +137,7 @@ QtObject {
//
// This list is the *default*; pairs can be added/removed live in the
// Settings popup and those changes are persisted across restarts.
property var cryptoPairs: [{ coin: "bitcoin", currency: "usd" }, { coin: "ethereum", currency: "eur" }, { coin: "monero", currency: "usd" }]
property var cryptoPairs: [{ coin: "bitcoin", currency: "usd" }, { coin: "ethereum", currency: "eur" }, { coin: "monero", currency: "usd" }, { coin: "bitcoin", currency: "eur" }, { coin: "bitcoin", currency: "brl" }, { coin: "ethereum", currency: "usd" }]
// ── Compact label decimals ────────────────────────────────────────────────
// 0 → "80k"
@@ -137,12 +146,22 @@ QtObject {
property int cryptoDecimals: 2
// ── Poll interval ─────────────────────────────────────────────────────────
// Seconds between CoinGecko requests. Free tier allows ~30 req/min.
// With multiple pairs each refresh fetches one pair then advances the index,
// so the effective per-pair interval is: cryptoRefreshSec × cryptoPairs.length
// Seconds between CoinGecko requests. Each tick fetches one pair
// and advances to the next in the cycle. Free tier allows ~30 req/min.
property int cryptoRefreshSec: 120
// ── Bar rotate interval ────────────────────────────────────────────────────
// Seconds between auto-rotating the displayed pair. 0 = disabled.
// Uses cached data (no API call), instant switching.
property int cryptoRotateSec: 10
// ── Bar chip icon ─────────────────────────────────────────────────────────
// Show the coin icon glyph ("󰿤") on the bar chip.
property bool cryptoShowIcon: true
// ────────────────────────────────────────────────────────────────────────
// WEATHER
// ────────────────────────────────────────────────────────────────────────
property string weatherLocation: "" // city name, e.g. "London" or "New+York"; empty → auto-detect from IP
property int weatherRefreshMin: 30 // update interval in minutes
}