akonadi/contact
customfieldmanager.cpp
00001 /* 00002 This file is part of Akonadi Contact. 00003 00004 Copyright (c) 2010 Tobias Koenig <tokoe@kde.org> 00005 00006 This library is free software; you can redistribute it and/or modify it 00007 under the terms of the GNU Library General Public License as published by 00008 the Free Software Foundation; either version 2 of the License, or (at your 00009 option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, but WITHOUT 00012 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00013 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 00014 License for more details. 00015 00016 You should have received a copy of the GNU Library General Public License 00017 along with this library; see the file COPYING.LIB. If not, write to the 00018 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 00019 02110-1301, USA. 00020 */ 00021 00022 #include "customfieldmanager_p.h" 00023 00024 #include <kconfig.h> 00025 #include <kconfiggroup.h> 00026 00027 #include <QVector> 00028 00029 void CustomFieldManager::setGlobalCustomFieldDescriptions( const CustomField::List &customFields ) 00030 { 00031 KConfig config( QLatin1String( "akonadi_contactrc" ) ); 00032 KConfigGroup group( &config, QLatin1String( "GlobalCustomFields" ) ); 00033 00034 group.deleteGroup(); 00035 foreach ( const CustomField &field, customFields ) { 00036 const QString key = field.key(); 00037 const QString value = CustomField::typeToString( field.type() ) + QLatin1Char( ':' ) + field.title(); 00038 00039 group.writeEntry( key, value ); 00040 } 00041 } 00042 00043 CustomField::List CustomFieldManager::globalCustomFieldDescriptions() 00044 { 00045 KConfig config( QLatin1String( "akonadi_contactrc" ) ); 00046 const KConfigGroup group( &config, QLatin1String( "GlobalCustomFields" ) ); 00047 00048 CustomField::List customFields; 00049 00050 const QStringList keys = group.keyList(); 00051 foreach ( const QString &key, keys ) { 00052 CustomField field; 00053 field.setKey( key ); 00054 field.setScope( CustomField::GlobalScope ); 00055 00056 const QString value = group.readEntry( key, QString() ); 00057 const int pos = value.indexOf( QLatin1Char( ':' ) ); 00058 if ( pos != -1 ) { 00059 field.setType( CustomField::stringToType( value.left( pos - 1 ) ) ); 00060 field.setTitle( value.mid( pos + 1 ) ); 00061 } 00062 00063 customFields << field; 00064 } 00065 00066 return customFields; 00067 }
This file is part of the KDE documentation.
Documentation copyright © 1996-2012 The KDE developers.
Generated on Mon May 14 2012 05:01:48 by doxygen 1.7.5 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2012 The KDE developers.
Generated on Mon May 14 2012 05:01:48 by doxygen 1.7.5 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.