00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "customfieldmanager_p.h"
00023
00024 #include <kconfig.h>
00025 #include <kconfiggroup.h>
00026
00027 void CustomFieldManager::setGlobalCustomFieldDescriptions( const CustomField::List &customFields )
00028 {
00029 KConfig config( QLatin1String( "akonadi_contactrc" ) );
00030 KConfigGroup group( &config, QLatin1String( "GlobalCustomFields" ) );
00031
00032 group.deleteGroup();
00033 foreach ( const CustomField &field, customFields ) {
00034 const QString key = field.key();
00035 const QString value = CustomField::typeToString( field.type() ) + QLatin1Char( ':' ) + field.title();
00036
00037 group.writeEntry( key, value );
00038 }
00039 }
00040
00041 CustomField::List CustomFieldManager::globalCustomFieldDescriptions()
00042 {
00043 KConfig config( QLatin1String( "akonadi_contactrc" ) );
00044 const KConfigGroup group( &config, QLatin1String( "GlobalCustomFields" ) );
00045
00046 CustomField::List customFields;
00047
00048 const QStringList keys = group.keyList();
00049 foreach ( const QString &key, keys ) {
00050 CustomField field;
00051 field.setKey( key );
00052 field.setScope( CustomField::GlobalScope );
00053
00054 const QString value = group.readEntry( key, QString() );
00055 const int pos = value.indexOf( QLatin1Char( ':' ) );
00056 if ( pos != -1 ) {
00057 field.setType( CustomField::stringToType( value.left( pos - 1 ) ) );
00058 field.setTitle( value.mid( pos + 1 ) );
00059 }
00060
00061 customFields << field;
00062 }
00063
00064 return customFields;
00065 }