Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package vermouth for openSUSE:Factory 
checked in at 2026-07-18 22:24:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vermouth (Old)
 and      /work/SRC/openSUSE:Factory/.vermouth.new.24530 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "vermouth"

Sat Jul 18 22:24:47 2026 rev:20 rq:1366465 version:1.9.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/vermouth/vermouth.changes        2026-07-09 
22:20:19.064039354 +0200
+++ /work/SRC/openSUSE:Factory/.vermouth.new.24530/vermouth.changes     
2026-07-18 22:26:00.896156202 +0200
@@ -1,0 +2,9 @@
+Sat Jul 18 01:57:56 UTC 2026 - Jehu Marcos Herrera Puentes 
<[email protected]>
+
+- Bump to version 1.9.7:
+  * feat: Made the deletion behind one more step
+  * fix: Shuffle the labels of show/hide
+  * feat: Add the ability to hide games
+  * Update sums and commits
+
+-------------------------------------------------------------------

Old:
----
  vermouth-1.9.6.tar.xz

New:
----
  vermouth-1.9.7.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ vermouth.spec ++++++
--- /var/tmp/diff_new_pack.QUpIhA/_old  2026-07-18 22:26:01.472175655 +0200
+++ /var/tmp/diff_new_pack.QUpIhA/_new  2026-07-18 22:26:01.476175790 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           vermouth
-Version:        1.9.6
+Version:        1.9.7
 Release:        0
 Summary:        A Wine/Proton game launcher for KDE
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.QUpIhA/_old  2026-07-18 22:26:01.512177006 +0200
+++ /var/tmp/diff_new_pack.QUpIhA/_new  2026-07-18 22:26:01.516177141 +0200
@@ -3,7 +3,7 @@
   <service name="tar_scm" mode="manual">
     <param name="scm">git</param>
     <param name="url">https://github.com/dekomote/vermouth.git</param>
-    <param name="revision">v1.9.6</param>
+    <param name="revision">v1.9.7</param>
     <param name="match-tag">v[0-9]*</param>
     <param name="filename">vermouth</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.QUpIhA/_old  2026-07-18 22:26:01.544178087 +0200
+++ /var/tmp/diff_new_pack.QUpIhA/_new  2026-07-18 22:26:01.548178222 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/dekomote/vermouth.git</param>
-              <param 
name="changesrevision">a0cc7c81070af456ab8c18e53ae630a18280df21</param></service></servicedata>
+              <param 
name="changesrevision">90b29349531f4294a18659b11c95d49cdfe421fb</param></service></servicedata>
 (No newline at EOF)
 

++++++ vermouth-1.9.6.tar.xz -> vermouth-1.9.7.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vermouth-1.9.6/CMakeLists.txt 
new/vermouth-1.9.7/CMakeLists.txt
--- old/vermouth-1.9.6/CMakeLists.txt   2026-07-08 08:23:24.000000000 +0200
+++ new/vermouth-1.9.7/CMakeLists.txt   2026-07-15 14:56:02.000000000 +0200
@@ -1,5 +1,5 @@
 cmake_minimum_required(VERSION 3.20)
-project(vermouth VERSION 1.9.6 LANGUAGES CXX)
+project(vermouth VERSION 1.9.7 LANGUAGES CXX)
 
 set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vermouth-1.9.6/assets/com.dekomote.vermouth.metainfo.xml.in 
new/vermouth-1.9.7/assets/com.dekomote.vermouth.metainfo.xml.in
--- old/vermouth-1.9.6/assets/com.dekomote.vermouth.metainfo.xml.in     
2026-07-08 08:23:24.000000000 +0200
+++ new/vermouth-1.9.7/assets/com.dekomote.vermouth.metainfo.xml.in     
2026-07-15 14:56:02.000000000 +0200
@@ -40,6 +40,11 @@
   </screenshots>
   <content_rating type="oars-1.1" />
   <releases>
+    <release version="1.9.7" date="2026-07-15">
+        <description>
+          <p>This release adds the Hide feature - the ability to hide games 
and toggle visibility. It also changes the deletion workflow.</p>
+        </description>
+    </release>
     <release version="1.9.6" date="2026-07-08">
         <description>
           <p>This release fixes few UI issues - icon consistencies across 
desktop environments and button alignments.</p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vermouth-1.9.6/com.dekomote.vermouth.flathub.yml 
new/vermouth-1.9.7/com.dekomote.vermouth.flathub.yml
--- old/vermouth-1.9.6/com.dekomote.vermouth.flathub.yml        2026-07-08 
08:23:24.000000000 +0200
+++ new/vermouth-1.9.7/com.dekomote.vermouth.flathub.yml        2026-07-15 
14:56:02.000000000 +0200
@@ -98,5 +98,5 @@
     sources:
       - type: git
         url: https://github.com/dekomote/vermouth.git
-        tag: v1.9.6
-        commit: c7d36ff6aa504e2fa4836922604ca98f5c9e4bc3
+        tag: v1.9.7
+        commit: a0cc7c81070af456ab8c18e53ae630a18280df21
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vermouth-1.9.6/packaging/.SRCINFO 
new/vermouth-1.9.7/packaging/.SRCINFO
--- old/vermouth-1.9.6/packaging/.SRCINFO       2026-07-08 08:23:24.000000000 
+0200
+++ new/vermouth-1.9.7/packaging/.SRCINFO       2026-07-15 14:56:02.000000000 
+0200
@@ -1,6 +1,6 @@
 pkgbase = vermouth
        pkgdesc = A game and app launcher for Linux - native, Windows, and retro
-       pkgver = 1.9.6
+       pkgver = 1.9.7
        pkgrel = 1
        url = https://github.com/dekomote/vermouth
        arch = x86_64
@@ -19,7 +19,7 @@
        optdepends = sdl2: gamepad support
        provides = vermouth
        conflicts = vermouth
-       source = 
vermouth-1.9.6.tar.gz::https://github.com/dekomote/vermouth/archive/refs/tags/v1.9.6.tar.gz
-       sha256sums = 
6e88eb438d45e1ae5ec54fce521c451775887a935d4a0e905902f1cb50d58eff
+       source = 
vermouth-1.9.7.tar.gz::https://github.com/dekomote/vermouth/archive/refs/tags/v1.9.7.tar.gz
+       sha256sums = 
d8c50c2c1f6452568c48c13c1b8f055d2a9d56b8f5dbfb1946db788c47a8efeb
 
 pkgname = vermouth
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vermouth-1.9.6/packaging/PKGBUILD 
new/vermouth-1.9.7/packaging/PKGBUILD
--- old/vermouth-1.9.6/packaging/PKGBUILD       2026-07-08 08:23:24.000000000 
+0200
+++ new/vermouth-1.9.7/packaging/PKGBUILD       2026-07-15 14:56:02.000000000 
+0200
@@ -1,6 +1,6 @@
 # Maintainer: Dejan Noveski <[email protected]>
 pkgname=vermouth
-pkgver=1.9.6
+pkgver=1.9.7
 pkgrel=1
 pkgdesc="A game and app launcher for Linux - native, Windows, and retro"
 arch=('x86_64')
@@ -27,7 +27,7 @@
     'sdl2: gamepad support'
 )
 
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/dekomote/vermouth/archive/refs/tags/v${pkgver}.tar.gz";)
-sha256sums=('6e88eb438d45e1ae5ec54fce521c451775887a935d4a0e905902f1cb50d58eff')
+sha256sums=('d8c50c2c1f6452568c48c13c1b8f055d2a9d56b8f5dbfb1946db788c47a8efeb')
 
 build() {
     cd "${pkgname}-${pkgver}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vermouth-1.9.6/packaging/vermouth.spec 
new/vermouth-1.9.7/packaging/vermouth.spec
--- old/vermouth-1.9.6/packaging/vermouth.spec  2026-07-08 08:23:24.000000000 
+0200
+++ new/vermouth-1.9.7/packaging/vermouth.spec  2026-07-15 14:56:02.000000000 
+0200
@@ -1,5 +1,5 @@
 Name:           vermouth
-Version:        1.9.6
+Version:        1.9.7
 Release:        1%{?dist}
 Summary:        A no-frills Wine/Proton game launcher for KDE
 License:        MIT
@@ -74,6 +74,8 @@
 %{_datadir}/locale/*/LC_MESSAGES/vermouth.mo
 
 %changelog
+* Wed Jul 15 2026 Dejan Noveski <[email protected]> - 1.9.7-1
+- Hide/Visibility UI, Deletion workflow changes
 * Wed Jul 8 2026 Dejan Noveski <[email protected]> - 1.9.6-1
 - UI fixes
 * Mon Jun 29 2026 Dejan Noveski <[email protected]> - 1.9.5-1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vermouth-1.9.6/qml/AppGridView.qml 
new/vermouth-1.9.7/qml/AppGridView.qml
--- old/vermouth-1.9.6/qml/AppGridView.qml      2026-07-08 08:23:24.000000000 
+0200
+++ new/vermouth-1.9.7/qml/AppGridView.qml      2026-07-15 14:56:02.000000000 
+0200
@@ -9,6 +9,9 @@
 
     property bool searchActive: false
 
+    onShowHiddenChanged: appModel.showHidden = showHidden
+    Component.onCompleted: appModel.showHidden = showHidden
+
     Connections {
         target: launcher
         function onRomCoreMissing(platformSlug, rom) {
@@ -81,8 +84,10 @@
         required property int steamAppId
         required property string platformSlug
         required property string customCorePath
+        required property bool hidden
 
         readonly property bool hasPrefix: runtimeType === "proton" || 
runtimeType === "wine"
+        opacity: cardFrame.hidden ? 0.6 : 1
 
         QQC2.Menu {
             id: contextMenu
@@ -259,27 +264,26 @@
             }
             QQC2.MenuSeparator {}
             QQC2.MenuItem {
+                text: cardFrame.hidden ? i18n("Unhide") : i18n("Hide")
+                icon.name: cardFrame.hidden ? "view-visible-symbolic" : 
"view-hidden-symbolic"
+                onTriggered: {
+                    var app = appModel.getApp(cardFrame.index);
+                    app.hidden = !app.hidden;
+                    appModel.editApp(cardFrame.index, app);
+                }
+            }
+            QQC2.MenuItem {
                 text: i18n("Edit")
                 icon.name: "document-edit-symbolic"
                 onTriggered: addDialog.openForEdit(cardFrame.index)
             }
             QQC2.MenuItem {
-                text: i18n("Remove")
-                icon.name: "edit-delete-symbolic"
-                onTriggered: {
-                    confirmDeleteAppDialog.runtimeType = cardFrame.runtimeType;
-                    confirmDeleteAppDialog.payload = cardFrame.index;
-                    confirmDeleteAppDialog.open();
-                }
-            }
-            QQC2.MenuItem {
-                visible: cardFrame.hasPrefix
-                height: visible ? implicitHeight : 0
-                text: i18n("Remove and Delete Prefix")
+                text: i18n("Delete")
                 icon.name: "edit-delete-symbolic"
                 onTriggered: {
-                    confirmDeleteDialog.payload = cardFrame.index;
-                    confirmDeleteDialog.open();
+                    deleteChoiceDialog.runtimeType = cardFrame.runtimeType;
+                    deleteChoiceDialog.payload = cardFrame.index;
+                    deleteChoiceDialog.open();
                 }
             }
         }
@@ -356,6 +360,43 @@
             }
         ]
     }
+
+    Kirigami.PromptDialog {
+        id: deleteChoiceDialog
+        property var payload
+        property string runtimeType: ""
+        title: i18n("Delete app?")
+        subtitle: i18n("Choose what to delete.")
+        standardButtons: Kirigami.Dialog.NoButton
+
+        customFooterActions: [
+            Kirigami.Action {
+                text: i18n("Delete App")
+                icon.name: "edit-delete-symbolic"
+                onTriggered: {
+                    confirmDeleteAppDialog.payload = 
deleteChoiceDialog.payload;
+                    confirmDeleteAppDialog.runtimeType = 
deleteChoiceDialog.runtimeType;
+                    deleteChoiceDialog.close();
+                    confirmDeleteAppDialog.open();
+                }
+            },
+            Kirigami.Action {
+                text: i18n("Delete App and Prefix")
+                icon.name: "edit-delete-symbolic"
+                visible: deleteChoiceDialog.runtimeType === "proton" || 
deleteChoiceDialog.runtimeType === "wine"
+                onTriggered: {
+                    confirmDeleteDialog.payload = deleteChoiceDialog.payload;
+                    deleteChoiceDialog.close();
+                    confirmDeleteDialog.open();
+                }
+            },
+            Kirigami.Action {
+                text: i18n("Cancel")
+                icon.name: "dialog-cancel"
+                onTriggered: deleteChoiceDialog.close()
+            }
+        ]
+    }
 
     Kirigami.PromptDialog {
         id: confirmDeleteAppDialog
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vermouth-1.9.6/qml/GameGridView.qml 
new/vermouth-1.9.7/qml/GameGridView.qml
--- old/vermouth-1.9.6/qml/GameGridView.qml     2026-07-08 08:23:24.000000000 
+0200
+++ new/vermouth-1.9.7/qml/GameGridView.qml     2026-07-15 14:56:02.000000000 
+0200
@@ -10,6 +10,7 @@
     property bool showNames: true
     property bool active: true
     property bool lightsOut: false
+    property bool showHidden: true
     topMargin: Kirigami.Units.mediumSpacing
     bottomMargin: Kirigami.Units.mediumSpacing
     leftMargin: Kirigami.Units.mediumSpacing
@@ -21,6 +22,7 @@
         property alias scaleFactor: gridView.scaleFactor
         property alias viewType: gridView.viewType
         property alias showNames: gridView.showNames
+        property alias showHidden: gridView.showHidden
     }
 
     cellWidth: {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vermouth-1.9.6/qml/Main.qml 
new/vermouth-1.9.7/qml/Main.qml
--- old/vermouth-1.9.6/qml/Main.qml     2026-07-08 08:23:24.000000000 +0200
+++ new/vermouth-1.9.7/qml/Main.qml     2026-07-15 14:56:02.000000000 +0200
@@ -391,6 +391,14 @@
                 }
             },
             Kirigami.Action {
+                text: gridView.showHidden ? i18n("Hide") : i18n("Show Hidden")
+                icon.name: gridView.showHidden ? "view-hidden-symbolic" : 
"view-visible-symbolic"
+                onTriggered: {
+                    gridView.showHidden = !gridView.showHidden;
+                }
+                shortcut: "Ctrl+H"
+            },
+            Kirigami.Action {
                 text: i18n("&Settings")
                 icon.name: "preferences-system-symbolic"
                 onTriggered: {
@@ -697,6 +705,16 @@
                     Layout.fillWidth: true
                 }
                 QQC2.ToolButton {
+                    icon.name: gridView.showHidden ? "view-hidden-symbolic" : 
"view-visible-symbolic"
+                    focusPolicy: Qt.NoFocus
+                    onClicked: gridView.showHidden = !gridView.showHidden
+                    // Unfortunately, appimage won't respect the color scheme 
so I have to improvise:
+                    icon.color: root.lightsOut ? root.loText : (highlighted ? 
Kirigami.Theme.highlightColor : Kirigami.Theme.textColor)
+                    QQC2.ToolTip.text: gridView.showHidden ? i18n("Hide") : 
i18n("Show Hidden")
+                    QQC2.ToolTip.visible: hovered
+                    QQC2.ToolTip.delay: Kirigami.Units.toolTipDelay
+                }
+                QQC2.ToolButton {
                     icon.name: "changes-allow-symbolic"
                     focusPolicy: Qt.NoFocus
                     checkable: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vermouth-1.9.6/src/appentry.cpp 
new/vermouth-1.9.7/src/appentry.cpp
--- old/vermouth-1.9.6/src/appentry.cpp 2026-07-08 08:23:24.000000000 +0200
+++ new/vermouth-1.9.7/src/appentry.cpp 2026-07-15 14:56:02.000000000 +0200
@@ -47,6 +47,7 @@
     obj[QStringLiteral("customCorePath")] = customCorePath;
     obj[QStringLiteral("launchOptions")] = launchOptions;
     obj[QStringLiteral("enableLogging")] = enableLogging;
+    obj[QStringLiteral("hidden")] = hidden;
     return obj;
 }
 
@@ -71,6 +72,7 @@
         {QStringLiteral("customCorePath"), customCorePath},
         {QStringLiteral("launchOptions"), launchOptions},
         {QStringLiteral("enableLogging"), enableLogging},
+        {QStringLiteral("hidden"), hidden},
     };
 }
 
@@ -98,6 +100,7 @@
     e.customCorePath = obj[QStringLiteral("customCorePath")].toString();
     e.launchOptions = obj[QStringLiteral("launchOptions")].toString();
     e.enableLogging = obj[QStringLiteral("enableLogging")].toBool(false);
+    e.hidden = obj[QStringLiteral("hidden")].toBool(false);
     return e;
 }
 
@@ -123,4 +126,5 @@
     customCorePath = app[QStringLiteral("customCorePath")].toString();
     launchOptions = app[QStringLiteral("launchOptions")].toString();
     enableLogging = app.value(QStringLiteral("enableLogging"), false).toBool();
+    hidden = app.value(QStringLiteral("hidden"), false).toBool();
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vermouth-1.9.6/src/appentry.h 
new/vermouth-1.9.7/src/appentry.h
--- old/vermouth-1.9.6/src/appentry.h   2026-07-08 08:23:24.000000000 +0200
+++ new/vermouth-1.9.7/src/appentry.h   2026-07-15 14:56:02.000000000 +0200
@@ -52,6 +52,7 @@
     QString customCorePath;
     QString launchOptions;
     bool enableLogging = false;
+    bool hidden = false;
 
     QJsonObject toJson() const;
     QVariantMap toVariantMap() const;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vermouth-1.9.6/src/appmodel.cpp 
new/vermouth-1.9.7/src/appmodel.cpp
--- old/vermouth-1.9.6/src/appmodel.cpp 2026-07-08 08:23:24.000000000 +0200
+++ new/vermouth-1.9.7/src/appmodel.cpp 2026-07-15 14:56:02.000000000 +0200
@@ -23,7 +23,7 @@
 {
     m_filtered.clear();
     for (int i = 0; i < m_entries.size(); ++i) {
-        if (m_filter.isEmpty() || m_entries[i].name.contains(m_filter, 
Qt::CaseInsensitive))
+        if ((m_showHidden || !m_entries[i].hidden) && (m_filter.isEmpty() || 
m_entries[i].name.contains(m_filter, Qt::CaseInsensitive)))
             m_filtered.append(i);
     }
     std::sort(m_filtered.begin(), m_filtered.end(), [this](int a, int b) {
@@ -31,6 +31,18 @@
     });
 }
 
+void AppModel::setShowHidden(bool showHidden)
+{
+    if (m_showHidden == showHidden)
+        return;
+    m_showHidden = showHidden;
+    beginResetModel();
+    rebuildFilter();
+    endResetModel();
+    Q_EMIT showHiddenChanged();
+    Q_EMIT countChanged();
+}
+
 void AppModel::setFilterString(const QString &filter)
 {
     if (m_filter == filter)
@@ -91,6 +103,8 @@
         return e.launchOptions;
     case EnableLoggingRole:
         return e.enableLogging;
+    case HiddenRole:
+        return e.hidden;
     }
     return {};
 }
@@ -116,6 +130,7 @@
         {CustomCorePathRole, "customCorePath"},
         {LaunchOptionsRole, "launchOptions"},
         {EnableLoggingRole, "enableLogging"},
+        {HiddenRole, "hidden"},
     };
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vermouth-1.9.6/src/appmodel.h 
new/vermouth-1.9.7/src/appmodel.h
--- old/vermouth-1.9.6/src/appmodel.h   2026-07-08 08:23:24.000000000 +0200
+++ new/vermouth-1.9.7/src/appmodel.h   2026-07-15 14:56:02.000000000 +0200
@@ -8,6 +8,7 @@
 {
     Q_OBJECT
     Q_PROPERTY(int count READ count NOTIFY countChanged)
+    Q_PROPERTY(bool showHidden READ showHidden WRITE setShowHidden NOTIFY 
showHiddenChanged)
 
 public:
     enum Roles {
@@ -29,6 +30,7 @@
         CustomCorePathRole,
         LaunchOptionsRole,
         EnableLoggingRole,
+        HiddenRole,
     };
 
     explicit AppModel(QObject *parent = nullptr);
@@ -55,11 +57,18 @@
     Q_INVOKABLE void
     updateAppArt(const QString &id, const QString &iconPath, const QString 
&gridPath, const QString &heroPath, const QString &logoPath, int steamGridDbId 
= 0);
 
+    bool showHidden() const
+    {
+        return m_showHidden;
+    }
+    void setShowHidden(bool showHidden);
+
     void load();
     void save() const;
 
 Q_SIGNALS:
     void countChanged();
+    void showHiddenChanged();
 
 private:
     int sourceIndex(int filteredIndex) const;
@@ -69,4 +78,5 @@
     QVector<AppEntry> m_entries;
     QVector<int> m_filtered; // indices into m_entries
     QString m_filter;
+    bool m_showHidden = false;
 };

Reply via email to