Bug 370324

Summary: Pager disappears but is not reappearing even though it should
Product: [Plasma] plasmashell Reporter: Michail Vourlakos <mvourlakos>
Component: Pager widgetAssignee: Eike Hein <hein>
Status: RESOLVED FIXED    
Severity: normal CC: notmart, plasma-bugs-null
Priority: NOR    
Version First Reported In: 5.8.0   
Target Milestone: 1.0   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Michail Vourlakos 2016-10-09 00:43:59 UTC
1. The Pager shows 2 desktops
2. we remove a desktop and the pager disappears from the panel
3. we add a desktop from the systems setings (we now have two desktops) but the pager does not reappear in the panel
4. we unlock the widgets and show the panel's settings window
5. the pager is shown correctly
6. we lock the widgets and pager is shown correctly

it is like the pager's status is not updated from hidden,
that is something I can guess from panel's code line:

-----
visible: Qt.binding(function() {
            return applet.status !== PlasmaCore.Types.HiddenStatus || (!plasmoid.immutable && plasmoid.userConfiguring)
        })
-----

big possibility, same problem appears in the activity pager also

Reproducible: Always
Comment 1 Eike Hein 2016-10-09 09:46:00 UTC
Patch under review at https://phabricator.kde.org/D2990
Comment 2 Eike Hein 2016-10-10 10:22:28 UTC
Git commit a109124d0ac684a52c0167e28c21025b850cc6db by Eike Hein.
Committed on 09/10/2016 at 09:45.
Pushed by hein into branch 'Plasma/5.8'.

Fix circular logic causing Pager to remain hidden

Summary:
The Pager applet would transition to HiddenStatus if PagerModel.count
was smaller than 2, however hiding the root item would set
PagerModel.enabled to false, dropping the count to 0 and stopping
the window system monitoring, thus never transitioning the applet
back to ActiveStatus if the desktop or activity count increased again.

This patch introduces a new PagerModel.shouldShowPager property which
is updated even when the model is disabled, then used to drive both the
applet status and the enabled state of the model.

Reviewers: #plasma, davidedmundson

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D2990

M  +1    -1    applets/pager/package/contents/ui/main.qml
M  +12   -0    applets/pager/plugin/pagermodel.cpp
M  +4    -0    applets/pager/plugin/pagermodel.h

http://commits.kde.org/plasma-desktop/a109124d0ac684a52c0167e28c21025b850cc6db