mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 13:54:57 +00:00
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:
@@ -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 {
|
||||
|
||||
@@ -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 }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user