From 48582abcc409c9951c81d335cc9b877bc06cb223 Mon Sep 17 00:00:00 2001 From: Alisher Date: Fri, 24 Jul 2026 11:15:45 +0200 Subject: [PATCH] Elide long config paths in the node view (fix status-row overflow) (#43) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Elide long config paths in the node view instead of wrapping The User Config path is a long absolute path with no spaces, so Text.WordWrap can't break it cleanly and it overflows the status row. Switch both the User Config and Deployment Config labels to Text.ElideMiddle so the path truncates in the middle — keeping the leading directories and the file name visible — and the row keeps its height. Co-Authored-By: Claude Opus 4.8 * Add spacing between the User/Deployment config rows Drop the negative topMargin that pulled the two config lines together and give the column a small spacing so they don't read as cramped. Co-Authored-By: Claude Opus 4.8 --------- Co-authored-by: Alisher Co-authored-by: Claude Opus 4.8 --- src/qml/views/StatusConfigView.qml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/qml/views/StatusConfigView.qml b/src/qml/views/StatusConfigView.qml index 53473d2..9b7cc13 100644 --- a/src/qml/views/StatusConfigView.qml +++ b/src/qml/views/StatusConfigView.qml @@ -76,6 +76,7 @@ Rectangle { ColumnLayout { Layout.fillWidth: true + spacing: Theme.spacing.small RowLayout { Layout.fillWidth: true @@ -90,13 +91,15 @@ Rectangle { (root.useGeneratedConfig ? " " + qsTr("(Generated)") : "") font.pixelSize: Theme.typography.secondaryText color: Theme.palette.textSecondary - wrapMode: Text.WordWrap + // A long absolute config path has no spaces to wrap on and + // overflows the row — elide the middle so the leading dirs + // and the file name both stay visible. + elide: Text.ElideMiddle } } RowLayout { Layout.fillWidth: true - Layout.topMargin: -Theme.spacing.small spacing: Theme.spacing.small LogosText { text: qsTr("Deployment Config: ") @@ -111,7 +114,7 @@ Rectangle { (root.deploymentConfig || qsTr("No file selected"))) font.pixelSize: Theme.typography.secondaryText color: Theme.palette.textSecondary - wrapMode: Text.WordWrap + elide: Text.ElideMiddle } } }