chore: fix property-override linter warnings

This commit is contained in:
2 * r + 2 * t 2026-03-28 18:17:36 +11:00
parent 49695f8fd0
commit 42a1f34ddb
13 changed files with 54 additions and 59 deletions

View file

@ -12,7 +12,6 @@ StyledRect {
required property string label required property string label
property int expandedZ: 100 property int expandedZ: 100
property bool enabled: true
property alias menuItems: splitButton.menuItems property alias menuItems: splitButton.menuItems
property alias active: splitButton.active property alias active: splitButton.active

View file

@ -13,8 +13,7 @@ Item {
property var validator: null property var validator: null
property bool readOnly: false property bool readOnly: false
property int horizontalAlignment: TextInput.AlignHCenter property int horizontalAlignment: TextInput.AlignHCenter
property int implicitWidth: 70 implicitWidth: 70
property bool enabled: true
// Expose activeFocus through alias to avoid FINAL property override // Expose activeFocus through alias to avoid FINAL property override
readonly property alias hasFocus: inputField.activeFocus readonly property alias hasFocus: inputField.activeFocus

View file

@ -10,7 +10,6 @@ StyledRect {
required property string label required property string label
required property bool checked required property bool checked
property bool enabled: true
property var onToggled: function (checked) {} property var onToggled: function (checked) {}
Layout.fillWidth: true Layout.fillWidth: true

View file

@ -14,7 +14,7 @@ Item {
required property real absX required property real absX
required property real absY required property real absY
property real scale: Config.background.desktopClock.scale property real clockScale: Config.background.desktopClock.scale
readonly property bool bgEnabled: Config.background.desktopClock.background.enabled readonly property bool bgEnabled: Config.background.desktopClock.background.enabled
readonly property bool blurEnabled: bgEnabled && Config.background.desktopClock.background.blur && !GameMode.enabled readonly property bool blurEnabled: bgEnabled && Config.background.desktopClock.background.blur && !GameMode.enabled
readonly property bool invertColors: Config.background.desktopClock.invertColors readonly property bool invertColors: Config.background.desktopClock.invertColors
@ -23,8 +23,8 @@ Item {
readonly property color safeSecondary: useLightSet ? Colours.palette.m3secondaryContainer : Colours.palette.m3secondary readonly property color safeSecondary: useLightSet ? Colours.palette.m3secondaryContainer : Colours.palette.m3secondary
readonly property color safeTertiary: useLightSet ? Colours.palette.m3tertiaryContainer : Colours.palette.m3tertiary readonly property color safeTertiary: useLightSet ? Colours.palette.m3tertiaryContainer : Colours.palette.m3tertiary
implicitWidth: layout.implicitWidth + (Appearance.padding.large * 4 * root.scale) implicitWidth: layout.implicitWidth + (Appearance.padding.large * 4 * root.clockScale)
implicitHeight: layout.implicitHeight + (Appearance.padding.large * 2 * root.scale) implicitHeight: layout.implicitHeight + (Appearance.padding.large * 2 * root.clockScale)
Item { Item {
id: clockContainer id: clockContainer
@ -63,7 +63,7 @@ Item {
visible: root.bgEnabled visible: root.bgEnabled
anchors.fill: parent anchors.fill: parent
radius: Appearance.rounding.large * root.scale radius: Appearance.rounding.large * root.clockScale
opacity: Config.background.desktopClock.background.opacity opacity: Config.background.desktopClock.background.opacity
color: Colours.palette.m3surface color: Colours.palette.m3surface
@ -74,29 +74,29 @@ Item {
id: layout id: layout
anchors.centerIn: parent anchors.centerIn: parent
spacing: Appearance.spacing.larger * root.scale spacing: Appearance.spacing.larger * root.clockScale
RowLayout { RowLayout {
spacing: Appearance.spacing.small spacing: Appearance.spacing.small
StyledText { StyledText {
text: Time.hourStr text: Time.hourStr
font.pointSize: Appearance.font.size.extraLarge * 3 * root.scale font.pointSize: Appearance.font.size.extraLarge * 3 * root.clockScale
font.weight: Font.Bold font.weight: Font.Bold
color: root.safePrimary color: root.safePrimary
} }
StyledText { StyledText {
text: ":" text: ":"
font.pointSize: Appearance.font.size.extraLarge * 3 * root.scale font.pointSize: Appearance.font.size.extraLarge * 3 * root.clockScale
color: root.safeTertiary color: root.safeTertiary
opacity: 0.8 opacity: 0.8
Layout.topMargin: -Appearance.padding.large * 1.5 * root.scale Layout.topMargin: -Appearance.padding.large * 1.5 * root.clockScale
} }
StyledText { StyledText {
text: Time.minuteStr text: Time.minuteStr
font.pointSize: Appearance.font.size.extraLarge * 3 * root.scale font.pointSize: Appearance.font.size.extraLarge * 3 * root.clockScale
font.weight: Font.Bold font.weight: Font.Bold
color: root.safeSecondary color: root.safeSecondary
} }
@ -104,14 +104,14 @@ Item {
Loader { Loader {
asynchronous: true asynchronous: true
Layout.alignment: Qt.AlignTop Layout.alignment: Qt.AlignTop
Layout.topMargin: Appearance.padding.large * 1.4 * root.scale Layout.topMargin: Appearance.padding.large * 1.4 * root.clockScale
active: Config.services.useTwelveHourClock active: Config.services.useTwelveHourClock
visible: active visible: active
sourceComponent: StyledText { sourceComponent: StyledText {
text: Time.amPmStr text: Time.amPmStr
font.pointSize: Appearance.font.size.large * root.scale font.pointSize: Appearance.font.size.large * root.clockScale
color: root.safeSecondary color: root.safeSecondary
} }
} }
@ -119,9 +119,9 @@ Item {
StyledRect { StyledRect {
Layout.fillHeight: true Layout.fillHeight: true
Layout.preferredWidth: 4 * root.scale Layout.preferredWidth: 4 * root.clockScale
Layout.topMargin: Appearance.spacing.larger * root.scale Layout.topMargin: Appearance.spacing.larger * root.clockScale
Layout.bottomMargin: Appearance.spacing.larger * root.scale Layout.bottomMargin: Appearance.spacing.larger * root.clockScale
radius: Appearance.rounding.full radius: Appearance.rounding.full
color: root.safePrimary color: root.safePrimary
opacity: 0.8 opacity: 0.8
@ -132,7 +132,7 @@ Item {
StyledText { StyledText {
text: Time.format("MMMM").toUpperCase() text: Time.format("MMMM").toUpperCase()
font.pointSize: Appearance.font.size.large * root.scale font.pointSize: Appearance.font.size.large * root.clockScale
font.letterSpacing: 4 font.letterSpacing: 4
font.weight: Font.Bold font.weight: Font.Bold
color: root.safeSecondary color: root.safeSecondary
@ -140,7 +140,7 @@ Item {
StyledText { StyledText {
text: Time.format("dd") text: Time.format("dd")
font.pointSize: Appearance.font.size.extraLarge * root.scale font.pointSize: Appearance.font.size.extraLarge * root.clockScale
font.letterSpacing: 2 font.letterSpacing: 2
font.weight: Font.Medium font.weight: Font.Medium
color: root.safePrimary color: root.safePrimary
@ -148,7 +148,7 @@ Item {
StyledText { StyledText {
text: Time.format("dddd") text: Time.format("dddd")
font.pointSize: Appearance.font.size.larger * root.scale font.pointSize: Appearance.font.size.larger * root.clockScale
font.letterSpacing: 2 font.letterSpacing: 2
color: root.safeSecondary color: root.safeSecondary
} }
@ -156,7 +156,7 @@ Item {
} }
} }
Behavior on scale { Behavior on clockScale {
Anim { Anim {
duration: Appearance.anim.durations.expressiveDefaultSpatial duration: Appearance.anim.durations.expressiveDefaultSpatial
easing.bezierCurve: Appearance.anim.curves.expressiveDefaultSpatial easing.bezierCurve: Appearance.anim.curves.expressiveDefaultSpatial

View file

@ -171,7 +171,7 @@ ColumnLayout {
} }
component WrappedLoader: Loader { component WrappedLoader: Loader {
required property bool enabled required enabled
required property string id required property string id
required property int index required property int index

View file

@ -22,7 +22,7 @@ Item {
property alias currentName: popoutState.currentName property alias currentName: popoutState.currentName
property real currentCenter property real currentCenter
property alias hasCurrent: popoutState.hasCurrent property alias hasCurrent: popoutState.hasCurrent
readonly property PopoutState state: popoutState readonly property PopoutState popState: popoutState
property string detachedMode property string detachedMode
property string queuedMode property string queuedMode

View file

@ -21,7 +21,7 @@ Item {
} }
return false; return false;
} }
required property DashboardState state required property DashboardState dashState
required property FileDialog facePicker required property FileDialog facePicker
readonly property var dashboardTabs: { readonly property var dashboardTabs: {
@ -70,7 +70,7 @@ Item {
anchors.margins: Appearance.padding.large anchors.margins: Appearance.padding.large
nonAnimWidth: root.nonAnimWidth - anchors.margins * 2 nonAnimWidth: root.nonAnimWidth - anchors.margins * 2
state: root.state dashState: root.dashState
tabs: root.dashboardTabs tabs: root.dashboardTabs
} }
@ -89,7 +89,7 @@ Item {
Flickable { Flickable {
id: view id: view
readonly property int currentIndex: root.state.currentTab readonly property int currentIndex: root.dashState.currentTab
readonly property Item currentItem: { readonly property Item currentItem: {
repeater.count; // Trigger update on count change repeater.count; // Trigger update on count change
return repeater.itemAt(currentIndex); return repeater.itemAt(currentIndex);
@ -112,9 +112,9 @@ Item {
const x = contentX - currentItem.x; const x = contentX - currentItem.x;
if (x > currentItem.implicitWidth / 2) if (x > currentItem.implicitWidth / 2)
root.state.currentTab = Math.min(root.state.currentTab + 1, tabs.count - 1); root.dashState.currentTab = Math.min(root.dashState.currentTab + 1, tabs.count - 1);
else if (x < -currentItem.implicitWidth / 2) else if (x < -currentItem.implicitWidth / 2)
root.state.currentTab = Math.max(root.state.currentTab - 1, 0); root.dashState.currentTab = Math.max(root.dashState.currentTab - 1, 0);
} }
onDragEnded: { onDragEnded: {
@ -123,9 +123,9 @@ Item {
const x = contentX - currentItem.x; const x = contentX - currentItem.x;
if (x > currentItem.implicitWidth / 10) if (x > currentItem.implicitWidth / 10)
root.state.currentTab = Math.min(root.state.currentTab + 1, tabs.count - 1); root.dashState.currentTab = Math.min(root.dashState.currentTab + 1, tabs.count - 1);
else if (x < -currentItem.implicitWidth / 10) else if (x < -currentItem.implicitWidth / 10)
root.state.currentTab = Math.max(root.state.currentTab - 1, 0); root.dashState.currentTab = Math.max(root.dashState.currentTab - 1, 0);
else else
contentX = Qt.binding(() => currentItem?.x ?? 0); contentX = Qt.binding(() => currentItem?.x ?? 0);
} }
@ -166,7 +166,7 @@ Item {
Dash { Dash {
visibilities: root.visibilities visibilities: root.visibilities
state: root.state dashState: root.dashState
facePicker: root.facePicker facePicker: root.facePicker
} }
} }

View file

@ -9,7 +9,7 @@ GridLayout {
id: root id: root
required property DrawerVisibilities visibilities required property DrawerVisibilities visibilities
required property DashboardState state required property DashboardState dashState
required property FileDialog facePicker required property FileDialog facePicker
rowSpacing: Appearance.spacing.normal rowSpacing: Appearance.spacing.normal
@ -27,7 +27,6 @@ GridLayout {
id: user id: user
visibilities: root.visibilities visibilities: root.visibilities
state: root.state
facePicker: root.facePicker facePicker: root.facePicker
} }
} }
@ -67,7 +66,7 @@ GridLayout {
Calendar { Calendar {
id: calendar id: calendar
state: root.state dashState: root.dashState
} }
} }

View file

@ -13,7 +13,7 @@ Item {
id: root id: root
required property real nonAnimWidth required property real nonAnimWidth
required property DashboardState state required property DashboardState dashState
required property var tabs required property var tabs
readonly property alias count: bar.count readonly property alias count: bar.count
@ -27,10 +27,10 @@ Item {
anchors.right: parent.right anchors.right: parent.right
anchors.top: parent.top anchors.top: parent.top
currentIndex: root.state.currentTab currentIndex: root.dashState.currentTab
background: null background: null
onCurrentIndexChanged: root.state.currentTab = currentIndex onCurrentIndexChanged: root.dashState.currentTab = currentIndex
Repeater { Repeater {
model: ScriptModel { model: ScriptModel {
@ -113,9 +113,9 @@ Item {
function onWheel(event: WheelEvent): void { function onWheel(event: WheelEvent): void {
if (event.angleDelta.y < 0) if (event.angleDelta.y < 0)
root.state.currentTab = Math.min(root.state.currentTab + 1, bar.count - 1); root.dashState.currentTab = Math.min(root.dashState.currentTab + 1, bar.count - 1);
else if (event.angleDelta.y > 0) else if (event.angleDelta.y > 0)
root.state.currentTab = Math.max(root.state.currentTab - 1, 0); root.dashState.currentTab = Math.max(root.dashState.currentTab - 1, 0);
} }
implicitWidth: Math.max(icon.width, label.width) implicitWidth: Math.max(icon.width, label.width)
@ -124,7 +124,7 @@ Item {
cursorShape: Qt.PointingHandCursor cursorShape: Qt.PointingHandCursor
onPressed: event => { onPressed: event => {
root.state.currentTab = tab.TabBar.index; root.dashState.currentTab = tab.TabBar.index;
const stateY = stateWrapper.y; const stateY = stateWrapper.y;
rippleAnim.x = event.x; rippleAnim.x = event.x;

View file

@ -96,7 +96,7 @@ Item {
sourceComponent: Content { sourceComponent: Content {
visibilities: root.visibilities visibilities: root.visibilities
state: root.dashState dashState: root.dashState
facePicker: root.facePicker facePicker: root.facePicker
} }
} }

View file

@ -12,16 +12,16 @@ import qs.config
CustomMouseArea { CustomMouseArea {
id: root id: root
required property var state required property DashboardState dashState
readonly property int currMonth: state.currentDate.getMonth() readonly property int currMonth: dashState.currentDate.getMonth()
readonly property int currYear: state.currentDate.getFullYear() readonly property int currYear: dashState.currentDate.getFullYear()
function onWheel(event: WheelEvent): void { function onWheel(event: WheelEvent): void {
if (event.angleDelta.y > 0) if (event.angleDelta.y > 0)
root.state.currentDate = new Date(root.currYear, root.currMonth - 1, 1); root.dashState.currentDate = new Date(root.currYear, root.currMonth - 1, 1);
else if (event.angleDelta.y < 0) else if (event.angleDelta.y < 0)
root.state.currentDate = new Date(root.currYear, root.currMonth + 1, 1); root.dashState.currentDate = new Date(root.currYear, root.currMonth + 1, 1);
} }
anchors.left: parent.left anchors.left: parent.left
@ -29,7 +29,7 @@ CustomMouseArea {
implicitHeight: inner.implicitHeight + inner.anchors.margins * 2 implicitHeight: inner.implicitHeight + inner.anchors.margins * 2
acceptedButtons: Qt.MiddleButton acceptedButtons: Qt.MiddleButton
onClicked: root.state.currentDate = new Date() onClicked: root.dashState.currentDate = new Date()
ColumnLayout { ColumnLayout {
id: inner id: inner
@ -52,7 +52,7 @@ CustomMouseArea {
id: prevMonthStateLayer id: prevMonthStateLayer
function onClicked(): void { function onClicked(): void {
root.state.currentDate = new Date(root.currYear, root.currMonth - 1, 1); root.dashState.currentDate = new Date(root.currYear, root.currMonth - 1, 1);
} }
radius: Appearance.rounding.full radius: Appearance.rounding.full
@ -77,7 +77,7 @@ CustomMouseArea {
StateLayer { StateLayer {
function onClicked(): void { function onClicked(): void {
root.state.currentDate = new Date(); root.dashState.currentDate = new Date();
} }
anchors.fill: monthYearDisplay anchors.fill: monthYearDisplay
@ -112,7 +112,7 @@ CustomMouseArea {
id: nextMonthStateLayer id: nextMonthStateLayer
function onClicked(): void { function onClicked(): void {
root.state.currentDate = new Date(root.currYear, root.currMonth + 1, 1); root.dashState.currentDate = new Date(root.currYear, root.currMonth + 1, 1);
} }
radius: Appearance.rounding.full radius: Appearance.rounding.full

View file

@ -11,7 +11,6 @@ Row {
id: root id: root
required property DrawerVisibilities visibilities required property DrawerVisibilities visibilities
required property DashboardState state
required property FileDialog facePicker required property FileDialog facePicker
padding: Appearance.padding.large padding: Appearance.padding.large

View file

@ -168,7 +168,7 @@ Singleton {
function executeCommand(args: list<string>, callback: var): void { function executeCommand(args: list<string>, callback: var): void {
const proc = commandProc.createObject(root); const proc = commandProc.createObject(root);
proc.command = ["nmcli", ...args]; proc.cmdArgs = ["nmcli", ...args];
proc.callback = callback; proc.callback = callback;
activeProcesses.push(proc); activeProcesses.push(proc);
@ -181,7 +181,7 @@ Singleton {
}); });
Qt.callLater(() => { Qt.callLater(() => {
proc.exec(proc.command); proc.exec(proc.cmdArgs);
}); });
} }
@ -840,7 +840,7 @@ Singleton {
return false; return false;
} }
if (!isConnectionCommand(proc.command) || !root.pendingConnection || !root.pendingConnection.callback) { if (!isConnectionCommand(proc.cmdArgs) || !root.pendingConnection || !root.pendingConnection.callback) {
return false; return false;
} }
@ -1117,7 +1117,7 @@ Singleton {
if (proc && proc.stderr && proc.stderr.text) { if (proc && proc.stderr && proc.stderr.text) {
const error = proc.stderr.text.trim(); const error = proc.stderr.text.trim();
if (error && error.length > 0) { if (error && error.length > 0) {
if (root.isConnectionCommand(proc.command)) { if (root.isConnectionCommand(proc.cmdArgs)) {
const needsPassword = root.detectPasswordRequired(error); const needsPassword = root.detectPasswordRequired(error);
if (needsPassword && !proc.callbackCalled && root.pendingConnection) { if (needsPassword && !proc.callbackCalled && root.pendingConnection) {
@ -1204,7 +1204,7 @@ Singleton {
if (proc && proc.stderr && proc.stderr.text) { if (proc && proc.stderr && proc.stderr.text) {
const error = proc.stderr.text.trim(); const error = proc.stderr.text.trim();
if (error && error.length > 0) { if (error && error.length > 0) {
if (root.isConnectionCommand(proc.command)) { if (root.isConnectionCommand(proc.cmdArgs)) {
const needsPassword = root.detectPasswordRequired(error); const needsPassword = root.detectPasswordRequired(error);
if (needsPassword && !proc.callbackCalled && root.pendingConnection && root.pendingConnection.callback) { if (needsPassword && !proc.callbackCalled && root.pendingConnection && root.pendingConnection.callback) {
@ -1281,7 +1281,7 @@ Singleton {
id: proc id: proc
property var callback: null property var callback: null
property list<string> command: [] property list<string> cmdArgs: []
property bool callbackCalled: false property bool callbackCalled: false
property int exitCode: 0 property int exitCode: 0
@ -1321,7 +1321,7 @@ Singleton {
const output = (stdoutCollector && stdoutCollector.text) ? stdoutCollector.text : ""; const output = (stdoutCollector && stdoutCollector.text) ? stdoutCollector.text : "";
const error = (stderrCollector && stderrCollector.text) ? stderrCollector.text : ""; const error = (stderrCollector && stderrCollector.text) ? stderrCollector.text : "";
const success = exitCode === 0; const success = exitCode === 0;
const cmdIsConnection = isConnectionCommand(proc.command); const cmdIsConnection = isConnectionCommand(proc.cmdArgs);
if (root.handlePasswordRequired(proc, error, output, exitCode)) { if (root.handlePasswordRequired(proc, error, output, exitCode)) {
processFinished(); processFinished();