00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#include <kapplication.h>
00025
#include <kdebug.h>
00026
00027
#include <libkcal/calendarlocal.h>
00028
#include <libkcal/filestorage.h>
00029
00030
#include "korganizer.h"
00031
#include "koprefs.h"
00032
00033
#include "konewstuff.h"
00034
00035 KONewStuff::KONewStuff(
CalendarView *view ) :
00036
KNewStuff( "korganizer/calendar", view ),
00037 mView( view )
00038 {
00039 }
00040
00041
bool KONewStuff::install(
const QString &fileName )
00042 {
00043 kdDebug(5850) <<
"KONewStuff::install(): " << fileName << endl;
00044
00045 CalendarLocal cal( KOPrefs::instance()->mTimeZoneId );
00046 FileStorage storage( &cal, fileName );
00047
if ( !storage.load() ) {
00048 KMessageBox::error( mView, i18n(
"Couldn't load calendar.") );
00049
return false;
00050 }
00051
00052 Event::List events = cal.events();
00053
00054 QStringList eventList;
00055
00056 Event::List::ConstIterator it;
00057
for( it = events.begin(); it != events.end(); ++it ) {
00058 QString text = (*it)->summary();
00059 eventList.append( text );
00060 }
00061
00062
int result = KMessageBox::warningContinueCancelList( mView,
00063 i18n(
"The downloaded events will be merged into your current calendar."),
00064 eventList );
00065
00066
if ( result != KMessageBox::Continue )
return false;
00067
00068
return mView->openCalendar( fileName,
true );
00069 }
00070
00071
bool KONewStuff::createUploadFile(
const QString &fileName )
00072 {
00073
return mView->saveCalendar( fileName );
00074 }