default implementation for saveState so that saving to random files works even if nobody implements saveState
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=755693
This commit is contained in:
parent
add3c7eacd
commit
11d08f34b3
24
applet.cpp
24
applet.cpp
@ -369,6 +369,22 @@ public:
|
|||||||
return mainConfig;
|
return mainConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void copyEntries(KConfigGroup *source, KConfigGroup *destination)
|
||||||
|
{
|
||||||
|
foreach (const QString &group, source->groupList()) {
|
||||||
|
KConfigGroup subSource(source, group);
|
||||||
|
KConfigGroup subDest(destination, group);
|
||||||
|
copyEntries(&subSource, &subDest);
|
||||||
|
}
|
||||||
|
|
||||||
|
QMap<QString, QString> entries = source->entryMap();
|
||||||
|
QMapIterator<QString, QString> it(entries);
|
||||||
|
while (it.hasNext()) {
|
||||||
|
it.next();
|
||||||
|
destination->writeEntry(it.key(), it.value());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//TODO: examine the usage of memory here; there's a pretty large
|
//TODO: examine the usage of memory here; there's a pretty large
|
||||||
// number of members at this point.
|
// number of members at this point.
|
||||||
uint appletId;
|
uint appletId;
|
||||||
@ -455,11 +471,19 @@ void Applet::save(KConfigGroup* group) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
KConfigGroup appletConfigGroup(group, "Configuration");
|
KConfigGroup appletConfigGroup(group, "Configuration");
|
||||||
|
//FIXME: we need a global save state too
|
||||||
saveState(&appletConfigGroup);
|
saveState(&appletConfigGroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Applet::saveState(KConfigGroup* group) const
|
void Applet::saveState(KConfigGroup* group) const
|
||||||
{
|
{
|
||||||
|
if (group->config()->name() != config().config()->name()) {
|
||||||
|
// we're being saved to a different file!
|
||||||
|
// let's just copy the current values in our configuration over
|
||||||
|
KConfigGroup c = config();
|
||||||
|
d->copyEntries(&c, group);
|
||||||
|
}
|
||||||
|
|
||||||
Q_UNUSED(group)
|
Q_UNUSED(group)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user