settings.cpp00001
00002
00003
00004 #include "settings.h"
00005
00006 #include <kstaticdeleter.h>
00007
00008 using namespace DNSSD;
00009
00010 Configuration *Configuration::mSelf = 0;
00011 static KStaticDeleter<Configuration> staticConfigurationDeleter;
00012
00013 Configuration *Configuration::self()
00014 {
00015 if ( !mSelf ) {
00016 staticConfigurationDeleter.setObject( mSelf, new Configuration() );
00017 mSelf->readConfig();
00018 }
00019
00020 return mSelf;
00021 }
00022
00023 Configuration::Configuration( )
00024 : KConfigSkeleton( QString::fromLatin1( "kdnssdrc" ) )
00025 {
00026 mSelf = this;
00027 setCurrentGroup( QString::fromLatin1( "browsing" ) );
00028
00029 KConfigSkeleton::ItemStringList *itemDomainList;
00030 itemDomainList = new KConfigSkeleton::ItemStringList( currentGroup(), QString::fromLatin1( "DomainList" ), mDomainList );
00031 addItem( itemDomainList, QString::fromLatin1( "DomainList" ) );
00032 KConfigSkeleton::ItemBool *itemBrowseLocal;
00033 itemBrowseLocal = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "BrowseLocal" ), mBrowseLocal, true );
00034 addItem( itemBrowseLocal, QString::fromLatin1( "BrowseLocal" ) );
00035 KConfigSkeleton::ItemBool *itemRecursive;
00036 itemRecursive = new KConfigSkeleton::ItemBool( currentGroup(), QString::fromLatin1( "Recursive" ), mRecursive, false );
00037 addItem( itemRecursive, QString::fromLatin1( "Recursive" ) );
00038
00039 setCurrentGroup( QString::fromLatin1( "publishing" ) );
00040
00041 QValueList<KConfigSkeleton::ItemEnum::Choice> valuesPublishType;
00042 {
00043 KConfigSkeleton::ItemEnum::Choice choice;
00044 choice.name = QString::fromLatin1( "LAN" );
00045 valuesPublishType.append( choice );
00046 }
00047 {
00048 KConfigSkeleton::ItemEnum::Choice choice;
00049 choice.name = QString::fromLatin1( "WAN" );
00050 valuesPublishType.append( choice );
00051 }
00052 KConfigSkeleton::ItemEnum *itemPublishType;
00053 itemPublishType = new KConfigSkeleton::ItemEnum( currentGroup(), QString::fromLatin1( "PublishType" ), mPublishType, valuesPublishType, EnumPublishType::LAN );
00054 addItem( itemPublishType, QString::fromLatin1( "PublishType" ) );
00055 KConfigSkeleton::ItemString *itemPublishDomain;
00056 itemPublishDomain = new KConfigSkeleton::ItemString( currentGroup(), QString::fromLatin1( "PublishDomain" ), mPublishDomain );
00057 addItem( itemPublishDomain, QString::fromLatin1( "PublishDomain" ) );
00058 }
00059
00060 Configuration::~Configuration()
00061 {
00062 if ( mSelf == this )
00063 staticConfigurationDeleter.setObject( mSelf, 0, false );
00064 }
00065
|