[Containment] Treat HiddenStatus as low status

The containment's status is the max of all applets.

Unfortunately, HiddenStatus, while semantically lower, has the highest value,
so as soon as there's a hidden applet (eg. pager with just one virtual desktop),
the panel will always auto-hide even when popups are open as its status will be HiddenStatus.

REVIEW: 128301
This commit is contained in:
Kai Uwe Broulik 2016-07-22 08:32:52 +02:00
parent 3f53070185
commit d91127ca58

View File

@ -118,11 +118,11 @@ void ContainmentPrivate::checkStatus(Plasma::Types::ItemStatus appletStatus)
return; return;
} }
if (appletStatus < q->status()) { if (appletStatus < q->status() || appletStatus == Plasma::Types::HiddenStatus) {
// check to see if any other applet has a higher status, and stick with that // check to see if any other applet has a higher status, and stick with that if we do
// if we do // we'll treat HiddenStatus as lowest as we cannot change the enum value which is highest anymore
foreach (Applet *applet, applets) { foreach (Applet *applet, applets) {
if (applet->status() > appletStatus) { if (applet->status() > appletStatus && applet->status() != Plasma::Types::HiddenStatus) {
appletStatus = applet->status(); appletStatus = applet->status();
} }
} }