void ArchiveMailWidget::save() { if (!mChanged) return; KSharedConfig::Ptr config = KGlobal::config(); // first, delete all filter groups: const QStringList filterGroups =config->groupList().filter( QRegExp( archiveMailCollectionPattern ) ); foreach ( const QString &group, filterGroups ) { config->deleteGroup( group ); }
bool FollowUpReminderInfoWidget::save() { if (!mChanged) { return false; } KSharedConfig::Ptr config = KSharedConfig::openConfig(); // first, delete all filter groups: const QStringList filterGroups = config->groupList().filter(QRegularExpression(followUpItemPattern())); foreach (const QString &group, filterGroups) { config->deleteGroup(group); }
//______________________________________________________________ void ExceptionList::writeConfig( KSharedConfig::Ptr config ) { // remove all existing exceptions QString groupName; for( int index = 0; config->hasGroup( groupName = exceptionGroupName( index ) ); ++index ) { config->deleteGroup( groupName ); } // rewrite current exceptions int index = 0; foreach( const ConfigurationPtr& exception, _exceptions ) { Util::writeConfig( exception.data(), config.data(), exceptionGroupName( index ) ); ++index; }
void AlarmDialog::removeFromConfig( const QList<Akonadi::Item::Id> &ids ) { KSharedConfig::Ptr config = KGlobal::config(); KConfigGroup genGroup( config, "General" ); const int oldNumReminders = genGroup.readEntry( "Reminders", 0 ); QList<ConfItem> newReminders; // Delete everything for ( int i = 1; i <= oldNumReminders; ++i ) { const QString group( QString( "Incidence-%1" ).arg( i ) ); KConfigGroup incGroup( config, group ); const QString uid = incGroup.readEntry( "UID" ); const QDateTime remindAtDate = incGroup.readEntry( "RemindAt", QDateTime() ); const KUrl akonadiUrl = incGroup.readEntry( "AkonadiUrl" ); const Akonadi::Item::Id id = Akonadi::Item::fromUrl( akonadiUrl ).id(); if ( !ids.contains( id ) ) { ConfItem ci; ci.akonadiUrl = akonadiUrl; ci.remindAt = remindAtDate; ci.uid = uid; newReminders.append( ci ); } config->deleteGroup( group ); } genGroup.writeEntry( "Reminders", newReminders.count() ); //Write everything except those which have an uid we don't want for ( int i = 0; i < newReminders.count(); ++i ) { const QString group( QString( "Incidence-%1" ).arg( i + 1 ) ); KConfigGroup incGroup( config, group ); incGroup.writeEntry( "UID", newReminders[i].uid ); incGroup.writeEntry( "RemindAt", newReminders[i].remindAt ); incGroup.writeEntry( "AkonadiUrl", newReminders[i].akonadiUrl ); incGroup.sync(); } genGroup.sync(); }