konsolekalendar Library API Documentation

konsolekalendarvariables.cpp

00001 /*************************************************************************** 00002 konsolekalendarvariables.cpp - description 00003 ------------------- 00004 begin : Sun Jan 6 2002 00005 copyright : (C) 2002-2003 by Tuukka Pasanen 00006 copyright : (C) 2003 by Allen Winter 00007 email : illuusio@mailcity.com 00008 ***************************************************************************/ 00009 00010 /*************************************************************************** 00011 * * 00012 * This program is free software; you can redistribute it and/or modify * 00013 * it under the terms of the GNU General Public License as published by * 00014 * the Free Software Foundation; either version 2 of the License, or * 00015 * (at your option) any later version. * 00016 * * 00017 ***************************************************************************/ 00018 00019 #include <klocale.h> 00020 #include <kdebug.h> 00021 #include <kglobal.h> 00022 #include <kconfig.h> 00023 #include <kstandarddirs.h> 00024 #include <kglobalsettings.h> 00025 00026 00027 #include <qdatetime.h> 00028 #include <qstring.h> 00029 #include <qstringlist.h> 00030 00031 #include <stdlib.h> 00032 #include <iostream> 00033 #include <stdio.h> 00034 #include <unistd.h> 00035 #include <time.h> 00036 00037 00038 00039 #include "konsolekalendarvariables.h" 00040 00041 using namespace KCal; 00042 using namespace std; 00043 00044 KonsoleKalendarVariables::KonsoleKalendarVariables() 00045 { 00046 m_TimeZoneId = ""; 00047 m_bIsTimeZoneId = false; 00048 m_bIsUID = false; 00049 m_bIsStartDateTime = false; 00050 m_bIsEndDateTime = false; 00051 m_bNext = false; 00052 m_bVerbose = false; 00053 m_bDryRun = false; 00054 m_bDescription = false; 00055 m_description = "Default description"; 00056 m_bSummary = false; 00057 m_summary = "Default summary"; 00058 m_bFloating = true; 00059 m_export_type = TEXT_KONSOLEKALENDAR; 00060 m_bIsExportFile = false; 00061 m_bIsDefault = false; 00062 m_bIsCalendarResources = false; 00063 } 00064 00065 // This function is taken from korganizer's KOPrefs::setTimeZoneIdDefault(), 00066 // joined with some code to read the TimeZoneId from korganizerrc. 00067 void KonsoleKalendarVariables::setTimeZoneId() 00068 { 00069 // This function is taken from korganizer's KOPrefs::setTimeZoneIdDefault(), 00070 // joined with some code to read the TimeZoneId from korganizerrc. 00071 00072 QString zone; 00073 00074 // Get the system's default timezone. 00075 char zonefilebuf[100]; 00076 int len = readlink("/etc/localtime",zonefilebuf,100); 00077 if (len > 0 && len < 100) { 00078 zonefilebuf[len] = '\0'; 00079 zone = zonefilebuf; 00080 zone = zone.mid(zone.find("zoneinfo/") + 9); 00081 kdDebug() << "konsolekalendarvariables.cpp::setTimeZoneId() | system timezone from /etc/localtime is " << zone << endl; 00082 } else { 00083 tzset(); 00084 zone = tzname[0]; 00085 kdDebug() << "konsolekalendarvariables.cpp::setTimeZoneId() | system timezone from tzset() is " << zone << endl; 00086 } 00087 00088 // Read TimeZoneId from korganizerrc. This will override the system default 00089 KConfig korgcfg( locate( "config", QString::fromLatin1("korganizerrc") ) ); 00090 korgcfg.setGroup( "Time & Date" ); 00091 QString tz(korgcfg.readEntry( "TimeZoneId" ) ); 00092 if ( ! tz.isEmpty() ) { 00093 zone = tz; 00094 kdDebug() << "konsolekalendarvariables.cpp::setTimeZoneId() | timezone from korganizerrc is " << zone << endl; 00095 } 00096 00097 m_bIsTimeZoneId = true; 00098 m_TimeZoneId = zone; 00099 } 00100 00101 QString KonsoleKalendarVariables::getTimeZoneId() 00102 { 00103 return m_TimeZoneId; 00104 } 00105 00106 bool KonsoleKalendarVariables::isTimeZoneId() 00107 { 00108 return m_bIsTimeZoneId; 00109 } 00110 00111 KonsoleKalendarVariables::~KonsoleKalendarVariables() 00112 { 00113 // delete m_resource; 00114 } 00115 00116 void KonsoleKalendarVariables::setUID(QString uid) 00117 { 00118 m_bIsUID = true; 00119 m_UID = uid; 00120 } 00121 00122 QString KonsoleKalendarVariables::getUID() 00123 { 00124 return m_UID; 00125 } 00126 00127 bool KonsoleKalendarVariables::isUID() 00128 { 00129 return m_bIsUID; 00130 } 00131 00132 void KonsoleKalendarVariables::setStartDateTime(QDateTime start) 00133 { 00134 m_bIsStartDateTime = true; 00135 m_startDateTime = start; 00136 } 00137 00138 QDateTime KonsoleKalendarVariables::getStartDateTime() 00139 { 00140 return m_startDateTime; 00141 } 00142 00143 bool KonsoleKalendarVariables::isStartDateTime() 00144 { 00145 return m_bIsStartDateTime; 00146 } 00147 00148 void KonsoleKalendarVariables::setEndDateTime(QDateTime end) 00149 { 00150 m_bIsEndDateTime = true; 00151 m_endDateTime = end; 00152 } 00153 00154 QDateTime KonsoleKalendarVariables::getEndDateTime() 00155 { 00156 return m_endDateTime; 00157 } 00158 00159 bool KonsoleKalendarVariables::isEndDateTime() 00160 { 00161 return m_bIsEndDateTime; 00162 } 00163 00164 void KonsoleKalendarVariables::setNext(bool next) 00165 { 00166 m_bNext = next; 00167 } 00168 00169 bool KonsoleKalendarVariables::isNext() 00170 { 00171 return m_bNext; 00172 } 00173 00174 void KonsoleKalendarVariables::setVerbose(bool verbose) 00175 { 00176 m_bVerbose = verbose; 00177 } 00178 00179 bool KonsoleKalendarVariables::isVerbose() 00180 { 00181 return m_bVerbose; 00182 } 00183 00184 void KonsoleKalendarVariables::setDryRun(bool dryrun) 00185 { 00186 m_bDryRun = dryrun; 00187 } 00188 00189 bool KonsoleKalendarVariables::isDryRun() 00190 { 00191 return m_bDryRun; 00192 } 00193 00194 void KonsoleKalendarVariables::setCalendarFile(QString calendar) 00195 { 00196 m_calendar = calendar; 00197 } 00198 00199 QString KonsoleKalendarVariables::getCalendarFile() 00200 { 00201 return m_calendar; 00202 } 00203 00204 void KonsoleKalendarVariables::setImportFile(QString calendar) 00205 { 00206 m_import = calendar; 00207 } 00208 00209 QString KonsoleKalendarVariables::getImportFile() 00210 { 00211 return m_import; 00212 } 00213 00214 00215 void KonsoleKalendarVariables::setCalendar( CalendarLocal *calendar ) 00216 { 00217 m_calendarLocal = calendar; 00218 } 00219 00220 CalendarLocal *KonsoleKalendarVariables::getCalendar() 00221 { 00222 return m_calendarLocal; 00223 } 00224 00225 00226 /*void KonsoleKalendarVariables::setExportFile( QString export_file ) 00227 { 00228 m_export_file = export_file; 00229 } 00230 00231 QString KonsoleKalendarVariables::getExportFile() 00232 { 00233 return m_export_file; 00234 }*/ 00235 00236 00237 void KonsoleKalendarVariables::setExportType( int export_type ) 00238 { 00239 m_export_type = export_type; 00240 } 00241 00242 int KonsoleKalendarVariables::getExportType() 00243 { 00244 return m_export_type; 00245 } 00246 00247 void KonsoleKalendarVariables::setExportFile( QString export_file ) 00248 { 00249 m_exportFile = export_file; 00250 m_bIsExportFile = true; 00251 } 00252 00253 bool KonsoleKalendarVariables::isExportFile() 00254 { 00255 return m_bIsExportFile; 00256 } 00257 00258 QString KonsoleKalendarVariables::getExportFile() 00259 { 00260 return m_exportFile; 00261 } 00262 00263 bool KonsoleKalendarVariables::isAll() 00264 { 00265 return m_bAll; 00266 } 00267 00268 void KonsoleKalendarVariables::setAll( bool all) 00269 { 00270 m_bAll = all; 00271 } 00272 00273 bool KonsoleKalendarVariables::getAll() 00274 { 00275 return m_bAll; 00276 } 00277 00278 void KonsoleKalendarVariables::setDefault( bool def ) 00279 { 00280 m_bIsDefault = def; 00281 } 00282 00283 00284 bool KonsoleKalendarVariables::isDefault() 00285 { 00286 return m_bIsDefault; 00287 } 00288 00289 void KonsoleKalendarVariables::setDescription(QString description) 00290 { 00291 m_bDescription = true; 00292 m_description = description; 00293 } 00294 00295 QString KonsoleKalendarVariables::getDescription() 00296 { 00297 return m_description; 00298 } 00299 00300 bool KonsoleKalendarVariables::isDescription() 00301 { 00302 return m_bDescription; 00303 } 00304 00305 void KonsoleKalendarVariables::setSummary(QString summary) 00306 { 00307 m_bSummary = true; 00308 m_summary = summary; 00309 } 00310 00311 QString KonsoleKalendarVariables::getSummary() 00312 { 00313 return m_summary; 00314 } 00315 00316 bool KonsoleKalendarVariables::isSummary() 00317 { 00318 return m_bSummary; 00319 } 00320 00321 void KonsoleKalendarVariables::setFloating(bool floating) 00322 { 00323 m_bFloating = floating; 00324 } 00325 00326 bool KonsoleKalendarVariables::getFloating() 00327 { 00328 return m_bFloating; 00329 } 00330 00331 void KonsoleKalendarVariables::setDaysCount( int count ){ 00332 m_daysCount = count; 00333 m_bDaysCount = true; 00334 } 00335 00336 int KonsoleKalendarVariables::getDaysCount(){ 00337 return m_daysCount; 00338 } 00339 00340 bool KonsoleKalendarVariables::isDaysCount(){ 00341 return m_bDaysCount; 00342 } 00343 00344 00345 00346 bool KonsoleKalendarVariables::addCalendarResources( ResourceCalendar *resource ) 00347 { 00348 if ( m_resource ) { 00349 // In current state we support only one calendar 00350 // that's a fact and we have to live with that! 00351 kdDebug() << "konsoleKalendarvariables.cpp::addCalendarResources() | Add to calendar resource!" << endl; 00352 00353 CalendarResourceManager::ActiveIterator it; 00354 CalendarResourceManager *manager = getCalendarResourceManager(); 00355 QString fileName = NULL; 00356 00357 for ( it = manager->activeBegin(); it != manager->activeEnd(); ++it ) { 00358 kdDebug() << "Resource name: " + (*it)->resourceName() << endl; 00359 00360 if( !strcmp( (*it)->resourceName().local8Bit(), getCalendarFile().local8Bit() ) ){ 00361 kdDebug() << "konsoleKalendarvariables.cpp::addCalendarResources() | We allready have this resource" << endl; 00362 return true; 00363 } 00364 00365 } 00366 00367 manager->add( resource ); 00368 00369 if( isDefault() ) { 00370 kdDebug() << "konsoleKalendarvariables.cpp::addCalendarResources() | Make it default" << endl; 00371 manager->setStandardResource( resource ); 00372 } 00373 00374 } else { 00375 kdDebug() << "konsoleKalendarvariables.cpp::addCalendarResources() | Cannot add to calendar resources (Not created!)" << endl; 00376 return false; 00377 } 00378 00379 return true; 00380 } 00381 00382 bool KonsoleKalendarVariables::isCalendarResources() 00383 { 00384 return m_bIsCalendarResources; 00385 } 00386 00387 void KonsoleKalendarVariables::setCalendarResources( CalendarResources *resource ) 00388 { 00389 m_resource = resource; 00390 setCalendar( ((CalendarLocal *)m_resource) ); 00391 m_bIsCalendarResources = true; 00392 } 00393 00394 CalendarResources *KonsoleKalendarVariables::getCalendarResources() 00395 { 00396 return m_resource; 00397 } 00398 00399 00400 CalendarResourceManager *KonsoleKalendarVariables::getCalendarResourceManager( ) 00401 { 00402 return m_resource->resourceManager(); 00403 } 00404 00405 bool KonsoleKalendarVariables::loadCalendarResources( KConfig *config ) 00406 { 00407 00408 if ( m_resource ) { 00409 00410 kdDebug() << "konsoleKalendarvariables.cpp::loadCalendarResources() | loading resources" << endl; 00411 00412 CalendarResourceManager *manager = m_resource->resourceManager(); 00413 00414 if ( manager->isEmpty() == true ) { 00415 00416 config->setGroup("General"); 00417 QString fileName = config->readPathEntry( "Active Calendar" ); 00418 00419 QString resourceName; 00420 if ( fileName.isEmpty() ) { 00421 fileName = locateLocal( "appdata", "std.ics" ); 00422 resourceName = i18n("Default KOrganizer resource"); 00423 } else { 00424 resourceName = i18n("Active Calendar"); 00425 } 00426 00427 kdDebug() << "konsoleKalendarvariables.cpp::loadCalendarResources() | Using as default resource: '" << fileName << "'" << endl; 00428 00429 ResourceCalendar *defaultResource = new ResourceLocal( fileName ); 00430 //defaultResource->setTimeZoneId); 00431 defaultResource->setResourceName( resourceName ); 00432 00433 manager->add( defaultResource ); 00434 manager->setStandardResource( defaultResource ); 00435 } 00436 } 00437 00438 return true; 00439 }
KDE Logo
This file is part of the documentation for konsolekalendar Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Jul 28 23:58:15 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003