This commit is contained in:
parent
c133b0c955
commit
7325627795
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 4 16:20:20 UTC 2016 - hrvoje.senjan@gmail.com
|
||||||
|
|
||||||
|
- Added reset-the-model-on-list-always-shown-hide-change.patch
|
||||||
|
(kde#357627, kde#352055)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Jan 26 22:20:18 UTC 2016 - hrvoje.senjan@gmail.com
|
Tue Jan 26 22:20:18 UTC 2016 - hrvoje.senjan@gmail.com
|
||||||
|
|
||||||
|
@ -35,6 +35,7 @@ Patch1: create_kdehome.patch
|
|||||||
# PATCH-FIX_OPENSUSE fix-breeze-sddm-theme-with-many-users.patch alarrosa@suse.com -- Asks for user/password and hide the user list when there's a large number of users
|
# PATCH-FIX_OPENSUSE fix-breeze-sddm-theme-with-many-users.patch alarrosa@suse.com -- Asks for user/password and hide the user list when there's a large number of users
|
||||||
Patch2: fix-breeze-sddm-theme-with-many-users.patch
|
Patch2: fix-breeze-sddm-theme-with-many-users.patch
|
||||||
# PATCHES 100-200 and above are from upstream 5.5 branch
|
# PATCHES 100-200 and above are from upstream 5.5 branch
|
||||||
|
Patch100: reset-the-model-on-list-always-shown-hide-change.patch
|
||||||
# PATCHES 201-300 and above are from upstream master/5.6 branch
|
# PATCHES 201-300 and above are from upstream master/5.6 branch
|
||||||
BuildRequires: kf5-filesystem
|
BuildRequires: kf5-filesystem
|
||||||
BuildRequires: update-desktop-files
|
BuildRequires: update-desktop-files
|
||||||
@ -203,6 +204,7 @@ workspace. Development files.
|
|||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
%patch100 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5
|
%cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5
|
||||||
|
74
reset-the-model-on-list-always-shown-hide-change.patch
Normal file
74
reset-the-model-on-list-always-shown-hide-change.patch
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
From 42a3d8accd4e494d343954ddaa916a6c618d94f3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Marco Martin <notmart@gmail.com>
|
||||||
|
Date: Wed, 3 Feb 2016 15:36:31 +0100
|
||||||
|
Subject: [PATCH 1/1] reset the model on list always shown/hide change
|
||||||
|
|
||||||
|
something really wrong is going on on the proxymodel updates
|
||||||
|
the wrong item gets removed from the list.
|
||||||
|
it may be a wrong mapping between source and dest model
|
||||||
|
(doesn't seem so)
|
||||||
|
or may have been some misguided attempt by QML to recycle delegates
|
||||||
|
|
||||||
|
anyways resetting the model in some conditions even if expensive
|
||||||
|
seems to be the only way to workaround this.
|
||||||
|
Anyways this systray implementation is beyond any repair and
|
||||||
|
the rewritten version won't have to rely on so many models
|
||||||
|
and proxymodels
|
||||||
|
|
||||||
|
BUG:357627
|
||||||
|
CCBUG:352055
|
||||||
|
---
|
||||||
|
applets/systemtray/plugin/tasksproxymodel.cpp | 13 ++++++++++---
|
||||||
|
applets/systemtray/plugin/tasksproxymodel.h | 5 ++++-
|
||||||
|
2 files changed, 14 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/applets/systemtray/plugin/tasksproxymodel.cpp b/applets/systemtray/plugin/tasksproxymodel.cpp
|
||||||
|
index 632e84b..b93b05e 100644
|
||||||
|
--- a/applets/systemtray/plugin/tasksproxymodel.cpp
|
||||||
|
+++ b/applets/systemtray/plugin/tasksproxymodel.cpp
|
||||||
|
@@ -50,9 +50,9 @@ void TasksProxyModel::setHost(Host *host)
|
||||||
|
|
||||||
|
connect(m_host, &Host::taskStatusChanged, this, &TasksProxyModel::invalidateFilter);
|
||||||
|
connect(m_host, &Host::shownCategoriesChanged, this, &TasksProxyModel::invalidateFilter);
|
||||||
|
- connect(m_host, &Host::showAllItemsChanged, this, &TasksProxyModel::invalidateFilter);
|
||||||
|
- connect(m_host, &Host::forcedHiddenItemsChanged, this, &TasksProxyModel::invalidateFilter);
|
||||||
|
- connect(m_host, &Host::forcedShownItemsChanged, this, &TasksProxyModel::invalidateFilter);
|
||||||
|
+ connect(m_host, &Host::showAllItemsChanged, this, &TasksProxyModel::reset);
|
||||||
|
+ connect(m_host, &Host::forcedHiddenItemsChanged, this, &TasksProxyModel::reset);
|
||||||
|
+ connect(m_host, &Host::forcedShownItemsChanged, this, &TasksProxyModel::reset);
|
||||||
|
}
|
||||||
|
|
||||||
|
invalidateFilter();
|
||||||
|
@@ -74,6 +74,13 @@ void TasksProxyModel::setCategory(Category category)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+void TasksProxyModel::reset()
|
||||||
|
+{
|
||||||
|
+ beginResetModel();
|
||||||
|
+ invalidateFilter();
|
||||||
|
+ endResetModel();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
bool TasksProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
|
||||||
|
{
|
||||||
|
Q_UNUSED(sourceParent);
|
||||||
|
diff --git a/applets/systemtray/plugin/tasksproxymodel.h b/applets/systemtray/plugin/tasksproxymodel.h
|
||||||
|
index 70e723a..5799d62 100644
|
||||||
|
--- a/applets/systemtray/plugin/tasksproxymodel.h
|
||||||
|
+++ b/applets/systemtray/plugin/tasksproxymodel.h
|
||||||
|
@@ -56,7 +56,10 @@ public:
|
||||||
|
|
||||||
|
virtual bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override;
|
||||||
|
|
||||||
|
-signals:
|
||||||
|
+private Q_SLOTS:
|
||||||
|
+ void reset();
|
||||||
|
+
|
||||||
|
+Q_SIGNALS:
|
||||||
|
void hostChanged();
|
||||||
|
void categoryChanged();
|
||||||
|
void countChanged();
|
||||||
|
--
|
||||||
|
2.6.2
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user