aggregate applet status in the containment
CCBUG:236461 svn path=/trunk/KDE/kdelibs/; revision=1123366
This commit is contained in:
parent
5e9ca683a6
commit
dcba3a27a6
@ -930,6 +930,7 @@ void Containment::addApplet(Applet *applet, const QPointF &pos, bool delayInit)
|
|||||||
connect(applet, SIGNAL(configNeedsSaving()), this, SIGNAL(configNeedsSaving()));
|
connect(applet, SIGNAL(configNeedsSaving()), this, SIGNAL(configNeedsSaving()));
|
||||||
connect(applet, SIGNAL(releaseVisualFocus()), this, SIGNAL(releaseVisualFocus()));
|
connect(applet, SIGNAL(releaseVisualFocus()), this, SIGNAL(releaseVisualFocus()));
|
||||||
connect(applet, SIGNAL(appletDestroyed(Plasma::Applet*)), this, SLOT(appletDestroyed(Plasma::Applet*)));
|
connect(applet, SIGNAL(appletDestroyed(Plasma::Applet*)), this, SLOT(appletDestroyed(Plasma::Applet*)));
|
||||||
|
connect(applet, SIGNAL(newStatus(Plasma::ItemStatus)), this, SLOT(checkStatus(Plasma::ItemStatus)));
|
||||||
connect(applet, SIGNAL(activate()), this, SIGNAL(activate()));
|
connect(applet, SIGNAL(activate()), this, SIGNAL(activate()));
|
||||||
|
|
||||||
if (pos != QPointF(-1, -1)) {
|
if (pos != QPointF(-1, -1)) {
|
||||||
@ -2062,6 +2063,27 @@ void ContainmentPrivate::requestConfiguration()
|
|||||||
emit q->configureRequested(q);
|
emit q->configureRequested(q);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ContainmentPrivate::checkStatus(Plasma::ItemStatus appletStatus)
|
||||||
|
{
|
||||||
|
//kDebug() << "================== "<< appletStatus << q->status();
|
||||||
|
if (appletStatus == q->status()) {
|
||||||
|
emit q->newStatus(appletStatus);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (appletStatus < q->status()) {
|
||||||
|
// check to see if any other applet has a higher status, and stick with that
|
||||||
|
// if we do
|
||||||
|
foreach (Applet *applet, applets) {
|
||||||
|
if (applet->status() > appletStatus) {
|
||||||
|
appletStatus = applet->status();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
q->setStatus(appletStatus);
|
||||||
|
}
|
||||||
|
|
||||||
void Containment::destroy(bool confirm)
|
void Containment::destroy(bool confirm)
|
||||||
{
|
{
|
||||||
if (immutability() != Mutable || Applet::d->transient) {
|
if (immutability() != Mutable || Applet::d->transient) {
|
||||||
|
@ -612,6 +612,7 @@ class PLASMA_EXPORT Containment : public Applet
|
|||||||
Q_PRIVATE_SLOT(d, void requestConfiguration())
|
Q_PRIVATE_SLOT(d, void requestConfiguration())
|
||||||
Q_PRIVATE_SLOT(d, void updateToolBoxVisibility())
|
Q_PRIVATE_SLOT(d, void updateToolBoxVisibility())
|
||||||
Q_PRIVATE_SLOT(d, void showDropZoneDelayed())
|
Q_PRIVATE_SLOT(d, void showDropZoneDelayed())
|
||||||
|
Q_PRIVATE_SLOT(d, void checkStatus(Plasma::ItemStatus))
|
||||||
Q_PRIVATE_SLOT(d, void remoteAppletReady(Plasma::AccessAppletJob *))
|
Q_PRIVATE_SLOT(d, void remoteAppletReady(Plasma::AccessAppletJob *))
|
||||||
/**
|
/**
|
||||||
* This slot is called when the 'stat' after a job event has finished.
|
* This slot is called when the 'stat' after a job event has finished.
|
||||||
|
@ -70,6 +70,7 @@ public:
|
|||||||
void updateToolBoxVisibility();
|
void updateToolBoxVisibility();
|
||||||
void triggerShowAddWidgets();
|
void triggerShowAddWidgets();
|
||||||
void requestConfiguration();
|
void requestConfiguration();
|
||||||
|
void checkStatus(Plasma::ItemStatus status);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when constraints have been updated on this containment to provide
|
* Called when constraints have been updated on this containment to provide
|
||||||
|
Loading…
Reference in New Issue
Block a user