[neon/neon-packaging/plasma-welcome/Neon/release_jammy] patches: backport snap links til 6.1 is respun

Carlos De Maine null at kde.org
Sun Jun 16 09:04:26 BST 2024


Git commit 3add1604dc9c9fb7464bf162c981bbe824dad02b by Carlos De Maine.
Committed on 16/06/2024 at 08:04.
Pushed by carlosdem into branch 'Neon/release_jammy'.

backport snap links til 6.1 is respun

A  +1    -0    patches/series
A  +63   -0    patches/snap_links.diff

https://invent.kde.org/neon/neon-packaging/plasma-welcome/-/commit/3add1604dc9c9fb7464bf162c981bbe824dad02b

diff --git a/patches/series b/patches/series
new file mode 100644
index 0000000..37d618e
--- /dev/null
+++ b/patches/series
@@ -0,0 +1 @@
+snap_links.diff
diff --git a/patches/snap_links.diff b/patches/snap_links.diff
new file mode 100644
index 0000000..828089b
--- /dev/null
+++ b/patches/snap_links.diff
@@ -0,0 +1,63 @@
+diff --git a/src/controller.cpp b/src/controller.cpp
+index a6cd76c9c9c7818447bca700c22d6966388aef82..39e1cf0821540bea2fdc8845dda1f3fe27b0d688 100644
+--- a/src/controller.cpp
++++ b/src/controller.cpp
+@@ -243,6 +243,11 @@ QString Controller::distroBugReportUrl()
+     return KOSRelease().bugReportUrl();
+ }
+ 
++bool Controller::isDistroSnapOnly()
++{
++    return KOSRelease().extraValue("UBUNTU_VARIANT") == QStringLiteral("core");
++}
++
+ KAboutData Controller::aboutData() const
+ {
+     return KAboutData::applicationData();
+diff --git a/src/controller.h b/src/controller.h
+index c42e4e270d941d77569e1c280c2b1b7cc55ecb33..4f43c138397fe3bf42d8be479cb1c368eba0b565 100644
+--- a/src/controller.h
++++ b/src/controller.h
+@@ -31,6 +31,7 @@ public:
+     Q_INVOKABLE QString distroName();
+     Q_INVOKABLE QString distroIcon();
+     Q_INVOKABLE QString distroUrl();
++    Q_INVOKABLE bool isDistroSnapOnly();
+     Q_INVOKABLE QString distroBugReportUrl();
+     Q_INVOKABLE QString installPrefix();
+ 
+diff --git a/src/qml/pages/Discover.qml b/src/qml/pages/Discover.qml
+index 427e3acc53b609f2f9b77ccaae53aa5459fbb3dd..fc50555a0a0b17f5e4d76e41e009298c4426845b 100644
+--- a/src/qml/pages/Discover.qml
++++ b/src/qml/pages/Discover.qml
+@@ -53,12 +53,12 @@ GenericPage {
+             Repeater {
+                 model: ListModel {
+                     id: appsModel
+-                    ListElement { name: "Krita"; appstream: "org.kde.krita"; icon: "krita.png" }
+-                    ListElement { name: "Blender"; appstream: "org.blender.Blender"; icon: "blender" }
+-                    ListElement { name: "VLC"; appstream: "org.videolan.VLC"; icon: "vlc" }
+-                    ListElement { name: "GIMP"; appstream: "org.gimp.GIMP"; icon: "gimp" }
+-                    ListElement { name: "KStars"; appstream: "org.kde.kstars.desktop"; icon: "kstars" }
+-                    ListElement { name: "Endless Sky"; appstream: "io.github.endless_sky.endless_sky"; icon: "endlesssky.png" }
++                    ListElement { name: "Krita"; appstream: "org.kde.krita"; snap: "krita"; icon: "krita.png" }
++                    ListElement { name: "Blender"; appstream: "org.blender.Blender"; snap: "blender"; icon: "blender" }
++                    ListElement { name: "VLC"; appstream: "org.videolan.VLC"; snap: "vlc"; icon: "vlc" }
++                    ListElement { name: "GIMP"; appstream: "org.gimp.GIMP"; snap: "gimp"; icon: "gimp" }
++                    ListElement { name: "KStars"; appstream: "org.kde.kstars.desktop"; snap: "kstars"; icon: "kstars" }
++                    ListElement { name: "Endless Sky"; appstream: "io.github.endless_sky.endless_sky"; snap: "endlesssky"; icon: "endlesssky.png" }
+                 }
+                 delegate: ColumnLayout {
+                     spacing: Kirigami.Units.smallSpacing
+@@ -94,7 +94,10 @@ GenericPage {
+                         cursorShape: Qt.PointingHandCursor
+                     }
+                     TapHandler {
+-                        onTapped: Qt.openUrlExternally(`appstream://${model.appstream}`)
++                        onTapped: {
++                          let url = Controller.isDistroSnapOnly() ? `snap://${model.snap}` : `appstream://${model.appstream}`
++                          Qt.openUrlExternally(url)
++                        }
+                     }
+ 
+                     QQC2.ToolTip {


More information about the Neon-commits mailing list