00001
00002
00003
00004 #include "ktimetracker.h"
00005
00006 #include <kglobal.h>
00007 #include <QtCore/QFile>
00008
00009 class KTimeTrackerSettingsHelper
00010 {
00011 public:
00012 KTimeTrackerSettingsHelper() : q(0) {}
00013 ~KTimeTrackerSettingsHelper() { delete q; }
00014 KTimeTrackerSettings *q;
00015 };
00016 K_GLOBAL_STATIC(KTimeTrackerSettingsHelper, s_globalKTimeTrackerSettings)
00017 KTimeTrackerSettings *KTimeTrackerSettings::self()
00018 {
00019 if (!s_globalKTimeTrackerSettings->q) {
00020 new KTimeTrackerSettings;
00021 s_globalKTimeTrackerSettings->q->readConfig();
00022 }
00023
00024 return s_globalKTimeTrackerSettings->q;
00025 }
00026
00027 KTimeTrackerSettings::KTimeTrackerSettings( )
00028 : KConfigSkeleton( QLatin1String( "ktimetrackerrc" ) )
00029 {
00030 Q_ASSERT(!s_globalKTimeTrackerSettings->q);
00031 s_globalKTimeTrackerSettings->q = this;
00032 setCurrentGroup( QLatin1String( "General" ) );
00033
00034 KConfigSkeleton::ItemBool *itemShowSearchBar;
00035 itemShowSearchBar = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "showSearchBar" ), mShowSearchBar, true );
00036 addItem( itemShowSearchBar, QLatin1String( "showSearchBar" ) );
00037
00038 QString _userRealName;
00039 KEMailSettings settings;
00040 _userRealName = settings.getSetting( KEMailSettings::RealName );
00041
00042 KConfigSkeleton::ItemString *itemUserRealName;
00043 itemUserRealName = new KConfigSkeleton::ItemString( currentGroup(), QLatin1String( "userRealName" ), mUserRealName, _userRealName );
00044 addItem( itemUserRealName, QLatin1String( "userRealName" ) );
00045
00046 setCurrentGroup( QLatin1String( "Idle detection" ) );
00047
00048 KConfigSkeleton::ItemBool *itemEnabled;
00049 itemEnabled = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "enabled" ), mEnabled, true );
00050 addItem( itemEnabled, QLatin1String( "enabled" ) );
00051 KConfigSkeleton::ItemUInt *itemPeriod;
00052 itemPeriod = new KConfigSkeleton::ItemUInt( currentGroup(), QLatin1String( "period" ), mPeriod, 15 );
00053 addItem( itemPeriod, QLatin1String( "period" ) );
00054 KConfigSkeleton::ItemUInt *itemMinActiveTime;
00055 itemMinActiveTime = new KConfigSkeleton::ItemUInt( currentGroup(), QLatin1String( "minActiveTime" ), mMinActiveTime, 5 );
00056 addItem( itemMinActiveTime, QLatin1String( "minActiveTime" ) );
00057
00058 setCurrentGroup( QLatin1String( "Saving" ) );
00059
00060 KConfigSkeleton::ItemBool *itemAutoSave;
00061 itemAutoSave = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "autoSave" ), mAutoSave, true );
00062 addItem( itemAutoSave, QLatin1String( "autoSave" ) );
00063 KConfigSkeleton::ItemUInt *itemAutoSavePeriod;
00064 itemAutoSavePeriod = new KConfigSkeleton::ItemUInt( currentGroup(), QLatin1String( "autoSavePeriod" ), mAutoSavePeriod, 5 );
00065 addItem( itemAutoSavePeriod, QLatin1String( "autoSavePeriod" ) );
00066 KConfigSkeleton::ItemBool *itemPromptDelete;
00067 itemPromptDelete = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "promptDelete" ), mPromptDelete, true );
00068 addItem( itemPromptDelete, QLatin1String( "promptDelete" ) );
00069 KConfigSkeleton::ItemBool *itemUniTasking;
00070 itemUniTasking = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "uniTasking" ), mUniTasking, false );
00071 addItem( itemUniTasking, QLatin1String( "uniTasking" ) );
00072 KConfigSkeleton::ItemBool *itemDisplaySessionTime;
00073 itemDisplaySessionTime = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "displaySessionTime" ), mDisplaySessionTime, true );
00074 addItem( itemDisplaySessionTime, QLatin1String( "displaySessionTime" ) );
00075 KConfigSkeleton::ItemBool *itemDisplayTime;
00076 itemDisplayTime = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "displayTime" ), mDisplayTime, true );
00077 addItem( itemDisplayTime, QLatin1String( "displayTime" ) );
00078 KConfigSkeleton::ItemBool *itemDisplayTotalSessionTime;
00079 itemDisplayTotalSessionTime = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "displayTotalSessionTime" ), mDisplayTotalSessionTime, true );
00080 addItem( itemDisplayTotalSessionTime, QLatin1String( "displayTotalSessionTime" ) );
00081 KConfigSkeleton::ItemBool *itemDisplayTotalTime;
00082 itemDisplayTotalTime = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "displayTotalTime" ), mDisplayTotalTime, true );
00083 addItem( itemDisplayTotalTime, QLatin1String( "displayTotalTime" ) );
00084 KConfigSkeleton::ItemBool *itemDisplayPriority;
00085 itemDisplayPriority = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "displayPriority" ), mDisplayPriority, false );
00086 addItem( itemDisplayPriority, QLatin1String( "displayPriority" ) );
00087 KConfigSkeleton::ItemBool *itemDisplayPercentComplete;
00088 itemDisplayPercentComplete = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "displayPercentComplete" ), mDisplayPercentComplete, false );
00089 addItem( itemDisplayPercentComplete, QLatin1String( "displayPercentComplete" ) );
00090 KConfigSkeleton::ItemBool *itemDecimalFormat;
00091 itemDecimalFormat = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "decimalFormat" ), mDecimalFormat, false );
00092 addItem( itemDecimalFormat, QLatin1String( "decimalFormat" ) );
00093 KConfigSkeleton::ItemBool *itemAlternatingRowColors;
00094 itemAlternatingRowColors = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "alternatingRowColors" ), mAlternatingRowColors, true );
00095 addItem( itemAlternatingRowColors, QLatin1String( "alternatingRowColors" ) );
00096 KConfigSkeleton::ItemBool *itemTrayIcon;
00097 itemTrayIcon = new KConfigSkeleton::ItemBool( currentGroup(), QLatin1String( "trayIcon" ), mTrayIcon, true );
00098 addItem( itemTrayIcon, QLatin1String( "trayIcon" ) );
00099 }
00100
00101 KTimeTrackerSettings::~KTimeTrackerSettings()
00102 {
00103 }
00104