[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;
}
if (appletStatus < q->status()) {
// check to see if any other applet has a higher status, and stick with that
// if we do
if (appletStatus < q->status() || appletStatus == Plasma::Types::HiddenStatus) {
// check to see if any other applet has a higher status, and stick with that if we do
// we'll treat HiddenStatus as lowest as we cannot change the enum value which is highest anymore
foreach (Applet *applet, applets) {
if (applet->status() > appletStatus) {
if (applet->status() > appletStatus && applet->status() != Plasma::Types::HiddenStatus) {
appletStatus = applet->status();
}
}