00001
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