[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [discover/Plasma/5.12] libdiscover/UpdateModel: Fix updates count when listing resources that point 
From:       Aleix Pol <null () kde ! org>
Date:       2018-05-02 12:51:39
Message-ID: E1fDrER-0005eY-Ng () code ! kde ! org
[Download RAW message or body]

Git commit 36643a92cd3095d356f846935c67e37db6c45350 by Aleix Pol.
Committed on 02/05/2018 at 12:50.
Pushed by apol into branch 'Plasma/5.12'.

Fix updates count when listing resources that point to the same package

M  +22   -0    libdiscover/UpdateModel/UpdateModel.cpp
M  +1    -1    libdiscover/UpdateModel/UpdateModel.h

https://commits.kde.org/discover/36643a92cd3095d356f846935c67e37db6c45350

diff --git a/libdiscover/UpdateModel/UpdateModel.cpp b/libdiscover/UpdateModel/UpdateModel.cpp
index 5cc48c87..8e7d9bde 100644
--- a/libdiscover/UpdateModel/UpdateModel.cpp
+++ b/libdiscover/UpdateModel/UpdateModel.cpp
@@ -248,12 +248,34 @@ ResourcesUpdatesModel* UpdateModel::backend() const
 int UpdateModel::toUpdateCount() const
 {
     int ret = 0;
+    QSet<QString> packages;
     foreach (UpdateItem* item, m_updateItems) {
+        const auto packageName = item->resource()->packageName();
+        if (packages.contains(packageName)) {
+            continue;
+        }
+        packages.insert(packageName);
         ret += item->checked() != Qt::Unchecked ? 1 : 0;
     }
     return ret;
 }
 
+int UpdateModel::totalUpdatesCount() const
+{
+
+    int ret = 0;
+    QSet<QString> packages;
+    foreach (UpdateItem* item, m_updateItems) {
+        const auto packageName = item->resource()->packageName();
+        if (packages.contains(packageName)) {
+            continue;
+        }
+        packages.insert(packageName);
+        ret += 1;
+    }
+    return ret;
+}
+
 UpdateItem * UpdateModel::itemFromResource(AbstractResource* res)
 {
     foreach (UpdateItem* item, m_updateItems) {
diff --git a/libdiscover/UpdateModel/UpdateModel.h b/libdiscover/UpdateModel/UpdateModel.h
index 89b18347..fc5dd1a4 100644
--- a/libdiscover/UpdateModel/UpdateModel.h
+++ b/libdiscover/UpdateModel/UpdateModel.h
@@ -64,7 +64,7 @@ public:
     bool hasUpdates() const;
 
     ///all upgradeable packages
-    int totalUpdatesCount() const { return m_updateItems.count(); }
+    int totalUpdatesCount() const;
 
     ///packages marked to upgrade
     int toUpdateCount() const;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic