From 9dddb295840bf2b8785316174ecb87044e828d95 Mon Sep 17 00:00:00 2001 From: Ari Sulistiono Date: Fri, 16 Oct 2026 17:53:58 +0700 Subject: [PATCH 1/4] fix(studio): use shared legible dark controls in Main.qml --- apps/arstack_studio/qml/Main.qml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/arstack_studio/qml/Main.qml b/apps/arstack_studio/qml/Main.qml index 8efae0100..fdaef5634 100644 --- a/apps/arstack_studio/qml/Main.qml +++ b/apps/arstack_studio/qml/Main.qml @@ -789,7 +789,9 @@ ApplicationWindow { CalmButton { theme: studioTheme; uiFont: root.uiFont; text: "50"; implicitWidth: 44; onClicked: root.setFrequencyValue(50) } CalmButton { theme: studioTheme; uiFont: root.uiFont; text: "60"; implicitWidth: 44; onClicked: root.setFrequencyValue(60) } Rectangle { width: 1; height: 24; color: studioTheme.lineSoft } - CheckBox { + StudioDarkCheckBox { + theme: studioTheme + uiFont: root.uiFont enabled: root.signalFrequency > 0 checked: root.phaseLink text: "3-phase link" From c26535a0716875ae1762b9008257aa9bca059d1e Mon Sep 17 00:00:00 2001 From: Ari Sulistiono Date: Fri, 16 Oct 2026 17:54:03 +0700 Subject: [PATCH 2/4] fix(studio): use shared legible dark controls in SignalMatrix.qml --- apps/arstack_studio/qml/SignalMatrix.qml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/arstack_studio/qml/SignalMatrix.qml b/apps/arstack_studio/qml/SignalMatrix.qml index a151da39e..b9ab990d0 100644 --- a/apps/arstack_studio/qml/SignalMatrix.qml +++ b/apps/arstack_studio/qml/SignalMatrix.qml @@ -195,7 +195,9 @@ Rectangle { anchors.rightMargin: 9 spacing: 6 - CheckBox { + StudioDarkCheckBox { + theme: matrix.theme + uiFont: matrix.uiFont Layout.preferredWidth: 25 Layout.alignment: Qt.AlignVCenter checked: signalRow.channelEnabled From 870f0eb1e85d7c00c64a9b872dc1f2d3352600b4 Mon Sep 17 00:00:00 2001 From: Ari Sulistiono Date: Fri, 16 Oct 2026 17:54:06 +0700 Subject: [PATCH 3/4] fix(studio): use shared legible dark controls in QualityEditor.qml --- apps/arstack_studio/qml/QualityEditor.qml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/arstack_studio/qml/QualityEditor.qml b/apps/arstack_studio/qml/QualityEditor.qml index 6864a3d0f..73aef4c91 100644 --- a/apps/arstack_studio/qml/QualityEditor.qml +++ b/apps/arstack_studio/qml/QualityEditor.qml @@ -99,7 +99,9 @@ RowLayout { } } - ComboBox { + StudioDarkComboBox { + theme: editor.theme + uiFont: editor.uiFont id: presetBox implicitWidth: editor.compact ? 98 : 108 model: ["Good", "Invalid", "Questionable", "Test"] From fe5608f6ef371f474a0dc1376d9483e2a2b40d5b Mon Sep 17 00:00:00 2001 From: Ari Sulistiono Date: Fri, 16 Oct 2026 17:54:24 +0700 Subject: [PATCH 4/4] fix(studio): use shared legible dark controls in FirmwarePanel.qml --- apps/arstack_studio/qml/FirmwarePanel.qml | 36 ++--------------------- 1 file changed, 3 insertions(+), 33 deletions(-) diff --git a/apps/arstack_studio/qml/FirmwarePanel.qml b/apps/arstack_studio/qml/FirmwarePanel.qml index 3abdb754d..fbb6de3fa 100644 --- a/apps/arstack_studio/qml/FirmwarePanel.qml +++ b/apps/arstack_studio/qml/FirmwarePanel.qml @@ -41,38 +41,6 @@ SurfacePanel { } } - component DarkComboBox: ComboBox { - id: combo - implicitHeight: 40 - font.family: panel.uiFont - font.pixelSize: 11 - leftPadding: 12 - rightPadding: 34 - contentItem: Text { - leftPadding: 2 - rightPadding: 2 - text: combo.displayText - color: combo.enabled ? panel.theme.text : panel.theme.muted2 - font: combo.font - verticalAlignment: Text.AlignVCenter - elide: Text.ElideRight - } - indicator: Label { - x: combo.width - width - 12 - y: (combo.height - height) / 2 - text: "⌄" - color: combo.enabled ? panel.theme.textSoft : panel.theme.muted2 - font.family: panel.uiFont - font.pixelSize: 13 - } - background: Rectangle { - radius: 7 - color: combo.hovered ? panel.theme.raisedHover : panel.theme.surface2 - border.width: 1 - border.color: combo.activeFocus ? panel.theme.accent : panel.theme.line - } - } - Component.onCompleted: if (panel.session) panel.session.requestRefreshPorts() ColumnLayout { @@ -219,7 +187,9 @@ SurfacePanel { RowLayout { Layout.fillWidth: true spacing: 8 - DarkComboBox { + StudioDarkComboBox { + theme: panel.theme + uiFont: panel.uiFont id: firmwarePort Layout.preferredWidth: 205 model: panel.device.ports