diff --git a/flake.lock b/flake.lock index e7705f9..d792815 100644 --- a/flake.lock +++ b/flake.lock @@ -15783,11 +15783,11 @@ ] }, "locked": { - "lastModified": 1785417678, - "narHash": "sha256-KFw/oZ3sClqYeroSBmJE1DDWxlHYDZvyZxbjWDMibAs=", + "lastModified": 1785469122, + "narHash": "sha256-8grk0h0WEyille/8NMdT5q9dO3ierfmZuzEByaUUeiU=", "owner": "logos-co", "repo": "logos-cpp-sdk", - "rev": "9a6d7b82287cc7e775822140199d394f40be42eb", + "rev": "d11fbb2220cb528a700a510db0efcce6f6232b24", "type": "github" }, "original": { @@ -23987,11 +23987,11 @@ "process-stats": "process-stats_15" }, "locked": { - "lastModified": 1785356783, - "narHash": "sha256-9ZtobqwHpkIPMP6Aro37CXOiLbat/Zn4iZ4RgDBexDs=", + "lastModified": 1785443983, + "narHash": "sha256-eRRAXlWcZs4gpK3Nny2CtvpD04bDE8OxA4baMZxhwBk=", "owner": "logos-co", "repo": "logos-liblogos", - "rev": "330f1cc49632f95538b12cf5157c8e16ca9d6ac8", + "rev": "4ef9736a1e6a8c05de53fa13d9acf5f4d4570833", "type": "github" }, "original": { @@ -46369,11 +46369,11 @@ ] }, "locked": { - "lastModified": 1782766905, - "narHash": "sha256-oYE7sMr7PS+kDoX//Cx90HmRiRHBnHONx6r4Ekkc7DI=", + "lastModified": 1785441994, + "narHash": "sha256-1MEdhIIcg4LuMmigdbHhiIrl6qc9vjiMd9vdyBUt7/w=", "owner": "logos-co", "repo": "logos-module", - "rev": "2ec64c4a65f8966b5137cdba3a19a6498ce17b6d", + "rev": "9fb81c52289ced9241e707c041f6bb2e96d66a64", "type": "github" }, "original": { @@ -46392,11 +46392,11 @@ ] }, "locked": { - "lastModified": 1782766905, - "narHash": "sha256-oYE7sMr7PS+kDoX//Cx90HmRiRHBnHONx6r4Ekkc7DI=", + "lastModified": 1785441994, + "narHash": "sha256-1MEdhIIcg4LuMmigdbHhiIrl6qc9vjiMd9vdyBUt7/w=", "owner": "logos-co", "repo": "logos-module", - "rev": "2ec64c4a65f8966b5137cdba3a19a6498ce17b6d", + "rev": "9fb81c52289ced9241e707c041f6bb2e96d66a64", "type": "github" }, "original": { @@ -104423,11 +104423,11 @@ "package_manager": "package_manager" }, "locked": { - "lastModified": 1785414509, - "narHash": "sha256-Z8sbheHdbGBRj1ieJiTDFqFecBLkP0u2r1X2Ybh43Wg=", + "lastModified": 1785487771, + "narHash": "sha256-L2QBrFMmy2Or5+1+R49txgMu77/2ee8gwcpgK7VM1aY=", "owner": "logos-co", "repo": "logos-package-manager-ui", - "rev": "38e11025bd55bc6785d12965e70dbc4047649d3d", + "rev": "72554ff334a2d66a0f32b8eb8863602adf6bdb49", "type": "github" }, "original": { @@ -127948,11 +127948,11 @@ ] }, "locked": { - "lastModified": 1785417565, - "narHash": "sha256-ifzQd36zXAOifXFS/CUMGgt1/eMcWncW/dtAuMROTt0=", + "lastModified": 1785470728, + "narHash": "sha256-K6rr5ycCWctvtUnktskjRlXHN3GuI7FEbz8/FX+pVY8=", "owner": "logos-co", "repo": "logos-protocol", - "rev": "ec43a0b44116dcf018fac265107527fa74a3d1a4", + "rev": "72754ab9b2ea8a43a3f04c5bdf1411673f3f489e", "type": "github" }, "original": { @@ -137963,11 +137963,11 @@ ] }, "locked": { - "lastModified": 1785338013, - "narHash": "sha256-HxUSlvzwnuvQTqb7h6ROTuQxQBqsU1M68ePXQcbEcJA=", + "lastModified": 1785468970, + "narHash": "sha256-l8YU6fqDZtpc7y0EumQDbiUf8nmZkOAQy5bZeO++xms=", "owner": "logos-co", "repo": "logos-qt-sdk", - "rev": "a5874feb1a5f0dd7d04c3281ea2892381c939c1d", + "rev": "ac0a19852db51a6c1c49a6b86e0cf53c47f6ad36", "type": "github" }, "original": { diff --git a/src/Basecamp/Settings/DashboardView.qml b/src/Basecamp/Settings/DashboardView.qml index 094ab0c..d89beca 100644 --- a/src/Basecamp/Settings/DashboardView.qml +++ b/src/Basecamp/Settings/DashboardView.qml @@ -28,11 +28,26 @@ Item { Layout.fillWidth: true spacing: 6 - LogosText { + // "Version" stays a plain label so a drag-select copies the + // bare version string, not the prefix. + RowLayout { + Layout.fillWidth: true visible: backend.buildVersion.length > 0 - text: "Version " + backend.buildVersion - font.pixelSize: 18 - color: "#ffffff" + spacing: 6 + + LogosText { + text: "Version" + font.pixelSize: 18 + color: "#ffffff" + } + + LogosSelectableText { + Layout.fillWidth: true + text: backend.buildVersion + font.pixelSize: 18 + color: "#ffffff" + wrapMode: TextEdit.WrapAnywhere + } } LogosText { @@ -61,20 +76,25 @@ Item { Layout.fillWidth: true spacing: 12 - LogosText { + // Module name and commit hash are both copy targets, so + // they wrap instead of eliding — an elided hash cannot + // be selected in full. + LogosSelectableText { text: modelData.name color: "#a0a0a0" font.pixelSize: 13 Layout.preferredWidth: 260 - elide: Text.ElideRight + Layout.alignment: Qt.AlignTop + wrapMode: TextEdit.WrapAnywhere } - LogosText { + LogosSelectableText { text: modelData.commit color: "#d0d0d0" font.family: "monospace" font.pixelSize: 13 Layout.fillWidth: true - elide: Text.ElideRight + Layout.alignment: Qt.AlignTop + wrapMode: TextEdit.WrapAnywhere } } } diff --git a/src/Basecamp/Settings/RepositoriesView.qml b/src/Basecamp/Settings/RepositoriesView.qml index 4a98a25..946e05b 100644 --- a/src/Basecamp/Settings/RepositoriesView.qml +++ b/src/Basecamp/Settings/RepositoriesView.qml @@ -212,20 +212,14 @@ Item { } } - TextEdit { + LogosSelectableText { visible: url.length > 0 Layout.fillWidth: true text: url font.pixelSize: Theme.typography.secondaryText color: Theme.palette.textSecondary wrapMode: TextEdit.WrapAnywhere - readOnly: true - selectByMouse: true - selectByKeyboard: true - selectionColor: Theme.palette.accentOrange - activeFocusOnPress: true persistentSelection: true - textFormat: TextEdit.PlainText } LogosText { diff --git a/src/Basecamp/Sidebar/SidebarPanel.qml b/src/Basecamp/Sidebar/SidebarPanel.qml index 06c97e5..e17b8e4 100644 --- a/src/Basecamp/Sidebar/SidebarPanel.qml +++ b/src/Basecamp/Sidebar/SidebarPanel.qml @@ -2,6 +2,7 @@ import QtQuick import QtQuick.Controls import QtQuick.Layouts +import Logos.Controls import Logos.Theme import Basecamp.Icons @@ -180,18 +181,19 @@ Control { } // Version footer — falls back to the build-type label - // ("Dev build" / "Portable build") - Text { + // ("Dev build" / "Portable build"). Selectable so the release tag can + // be copied out of the sidebar. + LogosSelectableText { Layout.fillWidth: true Layout.alignment: Qt.AlignHCenter - horizontalAlignment: Text.AlignHCenter + horizontalAlignment: TextEdit.AlignHCenter text: backend.buildVersion.length > 0 ? backend.buildVersion : (backend.isPortableBuild ? qsTr("Portable build") : qsTr("Dev build")) color: Theme.palette.textSecondary font.pixelSize: Theme.typography.badgeText - elide: Text.ElideRight + wrapMode: TextEdit.WrapAnywhere } }