klettres
prefs.cpp
Go to the documentation of this file.00001
00002
00003
00004 #include "prefs.h"
00005
00006 #include <kglobal.h>
00007 #include <QtCore/QFile>
00008
00009 class PrefsHelper
00010 {
00011 public:
00012 PrefsHelper() : q(0) {}
00013 ~PrefsHelper() { delete q; }
00014 Prefs *q;
00015 };
00016 K_GLOBAL_STATIC(PrefsHelper, s_globalPrefs)
00017 Prefs *Prefs::self()
00018 {
00019 if (!s_globalPrefs->q) {
00020 new Prefs;
00021 s_globalPrefs->q->readConfig();
00022 }
00023
00024 return s_globalPrefs->q;
00025 }
00026
00027 Prefs::Prefs( )
00028 : KConfigSkeleton( QLatin1String( "klettresrc" ) )
00029 {
00030 Q_ASSERT(!s_globalPrefs->q);
00031 s_globalPrefs->q = this;
00032 setCurrentGroup( QLatin1String( "General" ) );
00033
00034 KConfigSkeleton::ItemString *itemLanguage;
00035 itemLanguage = new KConfigSkeleton::ItemString( currentGroup(), QLatin1String( "Language" ), mLanguage, QLatin1String( "en" ) );
00036 addItem( itemLanguage, QLatin1String( "Language" ) );
00037 QList<KConfigSkeleton::ItemEnum::Choice> valuesTheme;
00038 {
00039 KConfigSkeleton::ItemEnum::Choice choice;
00040 choice.name = QLatin1String( "kid" );
00041 valuesTheme.append( choice );
00042 }
00043 {
00044 KConfigSkeleton::ItemEnum::Choice choice;
00045 choice.name = QLatin1String( "desert" );
00046 valuesTheme.append( choice );
00047 }
00048 {
00049 KConfigSkeleton::ItemEnum::Choice choice;
00050 choice.name = QLatin1String( "savannah" );
00051 valuesTheme.append( choice );
00052 }
00053 KConfigSkeleton::ItemEnum *itemTheme;
00054 itemTheme = new KConfigSkeleton::ItemEnum( currentGroup(), QLatin1String( "myTheme" ), mTheme, valuesTheme, EnumTheme::kid );
00055 addItem( itemTheme, QLatin1String( "Theme" ) );
00056 KConfigSkeleton::ItemBool *itemMenuBarBool;
00057 itemMenuBarBool = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "MenuBarBool" ), mMenuBarBool, true );
00058 addItem( itemMenuBarBool, QLatin1String( "MenuBarBool" ) );
00059 QList<KConfigSkeleton::ItemEnum::Choice> valuesMode;
00060 {
00061 KConfigSkeleton::ItemEnum::Choice choice;
00062 choice.name = QLatin1String( "kid" );
00063 valuesMode.append( choice );
00064 }
00065 {
00066 KConfigSkeleton::ItemEnum::Choice choice;
00067 choice.name = QLatin1String( "grownup" );
00068 valuesMode.append( choice );
00069 }
00070 KConfigSkeleton::ItemEnum *itemMode;
00071 itemMode = new KConfigSkeleton::ItemEnum( currentGroup(), QLatin1String( "myMode" ), mMode, valuesMode, EnumMode::grownup );
00072 addItem( itemMode, QLatin1String( "Mode" ) );
00073 KConfigSkeleton::ItemInt *itemLevel;
00074 itemLevel = new KConfigSkeleton::ItemInt( currentGroup(), QLatin1String( "myLevel" ), mLevel, 1 );
00075 itemLevel->setMinValue(1);
00076 itemLevel->setMaxValue(4);
00077 addItem( itemLevel, QLatin1String( "Level" ) );
00078 KConfigSkeleton::ItemInt *itemKidTimer;
00079 itemKidTimer = new KConfigSkeleton::ItemInt( currentGroup(), QLatin1String( "KidTimer" ), mKidTimer, 4 );
00080 addItem( itemKidTimer, QLatin1String( "KidTimer" ) );
00081 KConfigSkeleton::ItemInt *itemGrownTimer;
00082 itemGrownTimer = new KConfigSkeleton::ItemInt( currentGroup(), QLatin1String( "GrownTimer" ), mGrownTimer, 2 );
00083 addItem( itemGrownTimer, QLatin1String( "GrownTimer" ) );
00084
00085 setCurrentGroup( QLatin1String( "mFont" ) );
00086
00087 QFont defaultFont = KGlobalSettings::largeFont();
00088 defaultFont.setPointSize(48);
00089 defaultFont.setBold(true);
00090
00091 KConfigSkeleton::ItemFont *itemFont;
00092 itemFont = new KConfigSkeleton::ItemFont( currentGroup(), QLatin1String( "mFont" ), mFont, defaultFont );
00093 addItem( itemFont, QLatin1String( "Font" ) );
00094 }
00095
00096 Prefs::~Prefs()
00097 {
00098 }
00099