File r1050784-activatable-sorting.diff of Package NetworkManager-kde4
Index: libs/service/activatablelist.cpp
===================================================================
--- libs/service/activatablelist.cpp (revision 1050783)
+++ libs/service/activatablelist.cpp (revision 1050784)
@@ -80,16 +80,21 @@
Q_D(ActivatableList);
if (!d->activatables.contains(activatable)) {
addActivatableInternal(activatable);
+ notifyOnAddActivatable(activatable);
}
}
-
void ActivatableList::addActivatableInternal(Knm::Activatable * activatable)
{
Q_D(ActivatableList);
d->activatables.append(activatable);
+ connect(activatable, SIGNAL(changed()), this, SLOT(activatableChanged()));
+}
- connect(activatable, SIGNAL(changed()), this, SLOT(activatableChanged()));
+void ActivatableList::notifyOnAddActivatable(Knm::Activatable * activatable)
+{
+ Q_D(ActivatableList);
+
foreach (ActivatableObserver * observer, d->observers) {
observer->handleAdd(activatable);
}
Index: libs/service/activatablelist.h
===================================================================
--- libs/service/activatablelist.h (revision 1050783)
+++ libs/service/activatablelist.h (revision 1050784)
@@ -61,6 +61,7 @@
void activatableChanged();
protected:
void addActivatableInternal(Knm::Activatable * activatable);
+ void notifyOnAddActivatable(Knm::Activatable * activatable);
ActivatableListPrivate * d_ptr;
};
Index: libs/service/sortedactivatablelist.cpp
===================================================================
--- libs/service/sortedactivatablelist.cpp (revision 1050783)
+++ libs/service/sortedactivatablelist.cpp (revision 1050784)
@@ -92,12 +92,11 @@
// add all vpn connections
if ((iface && (d->types.testFlag(iface->type())))
|| (activatable->activatableType() == Knm::Activatable::VpnInterfaceConnection)) {
-
addActivatableInternal(activatable);
-
+ qSort(d->activatables.begin(), d->activatables.end(), activatableLessThan);
+ notifyOnAddActivatable(activatable);
}
}
- qSort(d->activatables.begin(), d->activatables.end(), activatableLessThan);
}
void SortedActivatableList::handleUpdate(Knm::Activatable *)