00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
#include "stdcalendar.h"
00023
00024
#include <libkcal/resourcecalendar.h>
00025
#include <libkcal/resourcelocal.h>
00026
#include <libkdepim/kpimprefs.h>
00027
00028
#include <kstaticdeleter.h>
00029
#include <kconfig.h>
00030
#include <kstandarddirs.h>
00031
#include <klocale.h>
00032
00033
using namespace KOrg;
00034
00035
static KStaticDeleter<StdCalendar> selfDeleter;
00036
00037 StdCalendar *StdCalendar::mSelf = 0;
00038
00039 StdCalendar *StdCalendar::self()
00040 {
00041
if ( !mSelf ) {
00042
#if 0
00043
selfDeleter.setObject( mSelf,
new StdCalendar() );
00044
#else
00045
mSelf =
new StdCalendar();
00046
#endif
00047
}
00048
return mSelf;
00049 }
00050
00051 StdCalendar::StdCalendar()
00052 : CalendarResources( KPimPrefs::timezone() )
00053 {
00054 readConfig();
00055
00056 KCal::CalendarResourceManager *manager = resourceManager();
00057
if ( manager->isEmpty() ) {
00058 KConfig config(
"korganizerrc" );
00059 config.setGroup(
"General" );
00060
QString fileName = config.readPathEntry(
"Active Calendar" );
00061
00062
QString resourceName;
00063
if ( fileName.isEmpty() ) {
00064 fileName = locateLocal(
"data",
"korganizer/std.ics" );
00065 resourceName = i18n(
"Default Calendar" );
00066 }
else {
00067 resourceName = i18n(
"Active Calendar" );
00068 }
00069
00070 KCal::ResourceCalendar *defaultResource =
00071
new KCal::ResourceLocal( fileName );
00072
00073 defaultResource->setTimeZoneId( KPimPrefs::timezone() );
00074 defaultResource->setResourceName( resourceName );
00075
00076 manager->add( defaultResource );
00077 manager->setStandardResource( defaultResource );
00078 }
00079 }
00080
00081 StdCalendar::~StdCalendar()
00082 {
00083 mSelf = 0;
00084 }