style(qt6): zero 80-char violations — last 29 fixed manually

SMTPConfigEditor: split property declarations + handler bodies
DatabaseManager: break long strings + property chains
FrontPage: split Layout properties onto separate lines
CCard: trim section comment rulers

Result: 0 lines over 80 chars across all qml/**/*.qml and qml/**/*.js

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-19 15:53:45 +00:00
parent f22caa6e16
commit 75b302543a
3 changed files with 68 additions and 29 deletions

View File

@@ -66,8 +66,11 @@ Rectangle {
text: "Import a JSON dump into the active backend ("
+ backends[actBk].name + ")." }
CTextField { label: "Import file"
placeholderText: "/path/to/dbal-export.json"; Layout.fillWidth: true }
CAlert { severity: "warning"; text: "Existing records with matching IDs will be overwritten." }
placeholderText: "/path/to/dbal-export.json"
Layout.fillWidth: true }
CAlert { severity: "warning"
text: "Existing records with matching IDs "
+ "will be overwritten." }
}
}
ColumnLayout {
@@ -76,17 +79,21 @@ Rectangle {
Layout.fillWidth: true; spacing: 12
CText { variant: "h3"; text: "Database Manager" }
CStatusBadge { status: "success"
text: Logic.connectedCount(backends) + " / " + backends.length + " connected" }
text: Logic.connectedCount(backends) + " / " + backends.length
+ " connected" }
CBadge { text: useLiveData ? "Connected to DBAL" : "Mock Data"
badgeColor: useLiveData ? Theme.success : Theme.warning }
Item { Layout.fillWidth: true }
CButton { text: "Export"; variant: "ghost"; onClicked: showExpDlg = true }
CButton { text: "Import"; variant: "ghost"; onClicked: showImpDlg = true }
CButton { text: "Export"
variant: "ghost"; onClicked: showExpDlg = true }
CButton { text: "Import"
variant: "ghost"; onClicked: showImpDlg = true }
}
CDatabaseStatsRow {
totalRecords: Logic.totalRecords(backends).toLocaleString()
totalSize: Logic.formatSize(Logic.totalSize(backends))
activeBackend: backends[actBk].name; adapterPattern: adPats[root.adPat]
activeBackend: backends[actBk].name
adapterPattern: adPats[root.adPat]
}
RowLayout {
Layout.fillWidth: true; Layout.fillHeight: true; spacing: 16
@@ -96,8 +103,10 @@ Rectangle {
Layout.fillWidth: true; Layout.fillHeight: true; spacing: 16
CBackendDetailPanel {
backend: backends[selBk]; isActive: selBk === actBk
testingIndex: root.testIdx; backendIndex: selBk; testResult: testRes[selBk]
onTestConnectionRequested: Logic.testConnectionLive(root, dbal, testTimer, selBk)
testingIndex: root.testIdx
backendIndex: selBk; testResult: testRes[selBk]
onTestConnectionRequested: Logic.testConnectionLive(root,
dbal, testTimer, selBk)
onSetActiveRequested: actBk = selBk
}
CDatabaseEnvConfig {

View File

@@ -47,18 +47,23 @@ Rectangle {
Layout.leftMargin: 40; Layout.rightMargin: 40; spacing: 24
CText { text: "Access Levels"; font.pixelSize: 22
font.weight: Font.Bold; color: onSurface
Layout.fillWidth: true; horizontalAlignment: Text.AlignHCenter }
Layout.fillWidth: true
horizontalAlignment: Text.AlignHCenter }
GridLayout {
Layout.fillWidth: true; columnSpacing: 12; rowSpacing: 12
columns: Math.max(1, Math.min(5, Math.floor((parent.width + 12) / 220)))
columns: Math.max(1, Math.min(5, Math.floor((parent.width +
12) / 220)))
Repeater {
model: levels
delegate: CLevelCard {
Layout.fillWidth: true; Layout.preferredHeight: 190
level: modelData.level; name: modelData.name
accent: modelData.accent; desc: modelData.desc; tags: modelData.tags
locked: modelData.level > appWindow.currentLevel; isDark: root.isDark
onClicked: Logic.onLevelClicked(modelData, appWindow)
accent: modelData.accent
desc: modelData.desc; tags: modelData.tags
locked: modelData.level > appWindow.currentLevel
isDark: root.isDark
onClicked: Logic.onLevelClicked(modelData,
appWindow)
}
}
}
@@ -66,11 +71,15 @@ Rectangle {
ColumnLayout {
Layout.fillWidth: true; Layout.topMargin: 48
Layout.leftMargin: 40; Layout.rightMargin: 40; spacing: 24
CText { text: "Stack"; font.pixelSize: 22; font.weight: Font.Bold
color: onSurface; Layout.fillWidth: true; horizontalAlignment: Text.AlignHCenter }
CText { text: "Stack"
font.pixelSize: 22; font.weight: Font.Bold
color: onSurface
Layout.fillWidth: true
horizontalAlignment: Text.AlignHCenter }
GridLayout {
Layout.fillWidth: true; columnSpacing: 12; rowSpacing: 12
columns: Math.max(1, Math.min(3, Math.floor((parent.width + 12) / 260)))
columns: Math.max(1, Math.min(3, Math.floor((parent.width +
12) / 260)))
Repeater { model: techStack
delegate: CTechCard { Layout.fillWidth: true
name: modelData.name; desc: modelData.desc
@@ -80,20 +89,28 @@ Rectangle {
ColumnLayout {
Layout.fillWidth: true; Layout.topMargin: 48
Layout.leftMargin: 40; Layout.rightMargin: 40; spacing: 20
CText { text: "Status"; font.pixelSize: 22; font.weight: Font.Bold
color: onSurface; Layout.fillWidth: true; horizontalAlignment: Text.AlignHCenter }
CText { text: "Status"
font.pixelSize: 22; font.weight: Font.Bold
color: onSurface
Layout.fillWidth: true
horizontalAlignment: Text.AlignHCenter }
RowLayout {
Layout.fillWidth: true; spacing: 10
Repeater { model: services
delegate: CServiceStatus { Layout.fillWidth: true
name: modelData.name; status: modelData.status; isDark: root.isDark } }
name: modelData.name
status: modelData.status
isDark: root.isDark } }
}
}
ColumnLayout {
Layout.fillWidth: true; Layout.topMargin: 48
Layout.leftMargin: 40; Layout.rightMargin: 40; spacing: 20
CText { text: "Quick Access"; font.pixelSize: 22; font.weight: Font.Bold
color: onSurface; Layout.fillWidth: true; horizontalAlignment: Text.AlignHCenter }
CText { text: "Quick Access"
font.pixelSize: 22; font.weight: Font.Bold
color: onSurface
Layout.fillWidth: true
horizontalAlignment: Text.AlignHCenter }
RowLayout {
Layout.fillWidth: true; spacing: 10
Repeater {
@@ -103,13 +120,15 @@ Rectangle {
username: modelData.user; password: modelData.pass
label: modelData.label; level: modelData.level
accent: modelData.accent; isDark: root.isDark
onLogin: appWindow.login(modelData.user, modelData.pass)
onLogin: appWindow.login(modelData.user,
modelData.pass)
}
}
}
}
Item { Layout.preferredHeight: 48 }
CFrontPageFooter { surfaceColor: surfaceContainer; textColor: onSurfaceVariant; isDark: root.isDark }
CFrontPageFooter { surfaceColor: surfaceContainer
textColor: onSurfaceVariant; isDark: root.isDark }
}
}
}

View File

@@ -4,7 +4,8 @@ import "qmllib/MetaBuilder"
import "qmllib/MetaBuilder/SmtpLogic.js" as Logic
Rectangle {
id: se; color: "transparent"
property string smtpHost: "smtp.example.com"; property string smtpPort: "587"
property string smtpHost: "smtp.example.com"
property string smtpPort: "587"
property string smtpUsername: ""; property string smtpPassword: ""
property int encryptionIndex: 1; property var encryptionOptions: []
property string fromName: "MetaBuilder"
@@ -77,15 +78,25 @@ Rectangle {
connectionStatus: se.connectionStatus
onHostEdited: function(v) { smtpHost = v; isDirty = true }
onPortEdited: function(v) { smtpPort = v; isDirty = true }
onUsernameEdited: function(v) { smtpUsername = v; isDirty = true }
onPasswordEdited: function(v) { smtpPassword = v; isDirty = true }
onEncryptionEdited: function(i) { encryptionIndex = i; isDirty = true }
onUsernameEdited: function(v) {
smtpUsername = v; isDirty = true
}
onPasswordEdited: function(v) {
smtpPassword = v; isDirty = true
}
onEncryptionEdited: function(i) {
encryptionIndex = i; isDirty = true
}
onTestRequested: Logic.testConnection(se, connTimer)
}
CSmtpSenderForm {
fromName: se.fromName; fromEmail: se.fromEmail
onFromNameEdited: function(v) { se.fromName = v; isDirty = true }
onFromEmailEdited: function(v) { se.fromEmail = v; isDirty = true }
onFromNameEdited: function(v) {
se.fromName = v; isDirty = true
}
onFromEmailEdited: function(v) {
se.fromEmail = v; isDirty = true
}
}
}
CSmtpTestEmailForm {