summaryrefslogtreecommitdiffabout
path: root/korganizer/mainwindow.cpp
Unidiff
Diffstat (limited to 'korganizer/mainwindow.cpp') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/mainwindow.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 40f2cf4..be69be7 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -28,52 +28,53 @@
28#include <qapplication.h> 28#include <qapplication.h>
29//#include <resource.h> 29//#include <resource.h>
30 30
31#endif 31#endif
32#include <libkcal/calendarlocal.h> 32#include <libkcal/calendarlocal.h>
33#include <libkcal/todo.h> 33#include <libkcal/todo.h>
34#include <libkdepim/ksyncprofile.h> 34#include <libkdepim/ksyncprofile.h>
35#include <libkdepim/kincidenceformatter.h> 35#include <libkdepim/kincidenceformatter.h>
36 36
37#include "calendarview.h" 37#include "calendarview.h"
38#include "koviewmanager.h" 38#include "koviewmanager.h"
39#include "datenavigator.h" 39#include "datenavigator.h"
40#include "koagendaview.h" 40#include "koagendaview.h"
41#include "koagenda.h" 41#include "koagenda.h"
42#include "kodialogmanager.h" 42#include "kodialogmanager.h"
43#include "kdialogbase.h" 43#include "kdialogbase.h"
44#include "kstandarddirs.h" 44#include "kstandarddirs.h"
45#include "koprefs.h" 45#include "koprefs.h"
46#include "kfiledialog.h" 46#include "kfiledialog.h"
47#include "koglobals.h" 47#include "koglobals.h"
48#include "kglobal.h" 48#include "kglobal.h"
49#include "klocale.h" 49#include "klocale.h"
50#include "kconfig.h" 50#include "kconfig.h"
51#include "simplealarmclient.h" 51#include "simplealarmclient.h"
52
53using namespace KCal; 52using namespace KCal;
54#ifndef _WIN32_ 53#ifndef _WIN32_
55#include <unistd.h> 54#include <unistd.h>
55#else
56#include "koimportoldialog.h"
56#endif 57#endif
57#include "mainwindow.h" 58#include "mainwindow.h"
58 59
59int globalFlagBlockStartup; 60int globalFlagBlockStartup;
60MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : 61MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
61 QMainWindow( parent, name ) 62 QMainWindow( parent, name )
62{ 63{
63 64
64#ifdef DESKTOP_VERSION 65#ifdef DESKTOP_VERSION
65 setFont( QFont("Arial"), 14 ); 66 setFont( QFont("Arial"), 14 );
66#endif 67#endif
67 68
68 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc"; 69 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc";
69 QString confFile = locateLocal("config","korganizerrc"); 70 QString confFile = locateLocal("config","korganizerrc");
70 QFileInfo finf ( confFile ); 71 QFileInfo finf ( confFile );
71 bool showWarning = !finf.exists(); 72 bool showWarning = !finf.exists();
72 setIcon(SmallIcon( "ko24" ) ); 73 setIcon(SmallIcon( "ko24" ) );
73 mBlockAtStartup = true; 74 mBlockAtStartup = true;
74 mFlagKeyPressed = false; 75 mFlagKeyPressed = false;
75 setCaption("KOrganizer/Pi"); 76 setCaption("KOrganizer/Pi");
76 KOPrefs *p = KOPrefs::instance(); 77 KOPrefs *p = KOPrefs::instance();
77 // if ( QApplication::desktop()->height() > 480 ) { 78 // if ( QApplication::desktop()->height() > 480 ) {
78// if ( p->mHourSize == 4 ) 79// if ( p->mHourSize == 4 )
79// p->mHourSize = 6; 80// p->mHourSize = 6;
@@ -563,48 +564,56 @@ void MainWindow::initActions()
563 actionMenu->insertSeparator(); 564 actionMenu->insertSeparator();
564 actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu ); 565 actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu );
565 566
566 } 567 }
567 // actionMenu->insertSeparator(); 568 // actionMenu->insertSeparator();
568 action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0, 569 action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0,
569 this ); 570 this );
570 action->addTo( importMenu ); 571 action->addTo( importMenu );
571 connect( action, SIGNAL( activated() ), SLOT( importIcal() ) ); 572 connect( action, SIGNAL( activated() ), SLOT( importIcal() ) );
572 action = new QAction( "import_quick", i18n("Import last file"), 0, 573 action = new QAction( "import_quick", i18n("Import last file"), 0,
573 this ); 574 this );
574 action->addTo( importMenu ); 575 action->addTo( importMenu );
575 connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) ); 576 connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) );
576 importMenu->insertSeparator(); 577 importMenu->insertSeparator();
577 action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0, 578 action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0,
578 this ); 579 this );
579 action->addTo( importMenu ); 580 action->addTo( importMenu );
580 connect( action, SIGNAL( activated() ), SLOT( importBday() ) ); 581 connect( action, SIGNAL( activated() ), SLOT( importBday() ) );
581#ifndef DESKTOP_VERSION 582#ifndef DESKTOP_VERSION
582 importMenu->insertSeparator(); 583 importMenu->insertSeparator();
583 action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0, 584 action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0,
584 this ); 585 this );
585 action->addTo( importMenu ); 586 action->addTo( importMenu );
586 connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) ); 587 connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) );
588#else
589#ifdef _WIN32_
590 importMenu->insertSeparator();
591 action = new QAction( "import_ol", i18n("Import from OL"), 0,
592 this );
593 action->addTo( importMenu );
594 connect( action, SIGNAL( activated() ), SLOT( importOL() ) );
595#endif
587#endif 596#endif
588 597
589 importMenu->insertSeparator(); 598 importMenu->insertSeparator();
590 action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0, 599 action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0,
591 this ); 600 this );
592 action->addTo( importMenu ); 601 action->addTo( importMenu );
593 connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) ); 602 connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) );
594 603
595 action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0, 604 action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0,
596 this ); 605 this );
597 action->addTo( importMenu ); 606 action->addTo( importMenu );
598 connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) ); 607 connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) );
599 608
600 importMenu->insertSeparator(); 609 importMenu->insertSeparator();
601 action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0, 610 action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0,
602 this ); 611 this );
603 action->addTo( importMenu ); connect( action, SIGNAL( activated() ), SLOT( exportVCalendar() ) ); 612 action->addTo( importMenu ); connect( action, SIGNAL( activated() ), SLOT( exportVCalendar() ) );
604 importMenu->insertSeparator(); 613 importMenu->insertSeparator();
605 action = new QAction( "manage cat", i18n("Manage new categories..."), 0, 614 action = new QAction( "manage cat", i18n("Manage new categories..."), 0,
606 this ); 615 this );
607 action->addTo( importMenu ); 616 action->addTo( importMenu );
608 connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) ); 617 connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) );
609#ifndef DESKTOP_VERSION 618#ifndef DESKTOP_VERSION
610 importMenu->insertSeparator(); 619 importMenu->insertSeparator();
@@ -909,49 +918,51 @@ void MainWindow::multiSync( bool askforPrefs )
909 mView->setSyncDevice(i18n("Multiple profiles") ); 918 mView->setSyncDevice(i18n("Multiple profiles") );
910 KOPrefs::instance()->mSyncAlgoPrefs = KOPrefs::instance()->mRingSyncAlgoPrefs; 919 KOPrefs::instance()->mSyncAlgoPrefs = KOPrefs::instance()->mRingSyncAlgoPrefs;
911 if ( askforPrefs ) { 920 if ( askforPrefs ) {
912 mView->edit_sync_options(); 921 mView->edit_sync_options();
913 KOPrefs::instance()->mRingSyncAlgoPrefs = KOPrefs::instance()->mSyncAlgoPrefs; 922 KOPrefs::instance()->mRingSyncAlgoPrefs = KOPrefs::instance()->mSyncAlgoPrefs;
914 } 923 }
915 setCaption(i18n("Multiple sync started.") ); 924 setCaption(i18n("Multiple sync started.") );
916 qApp->processEvents(); 925 qApp->processEvents();
917 int num = ringSync() ; 926 int num = ringSync() ;
918 if ( num > 1 ) 927 if ( num > 1 )
919 ringSync(); 928 ringSync();
920 mBlockSaveFlag = false; 929 mBlockSaveFlag = false;
921 if ( num ) 930 if ( num )
922 save(); 931 save();
923 if ( num ) 932 if ( num )
924 setCaption(i18n("%1 profiles synced. Multiple sync completed!").arg(num) ); 933 setCaption(i18n("%1 profiles synced. Multiple sync completed!").arg(num) );
925 else 934 else
926 setCaption(i18n("Nothing synced! No profiles defined for multisync!")); 935 setCaption(i18n("Nothing synced! No profiles defined for multisync!"));
927 return; 936 return;
928} 937}
929void MainWindow::slotSyncMenu( int action ) 938void MainWindow::slotSyncMenu( int action )
930{ 939{
931 //qDebug("syncaction %d ", action); 940 //qDebug("syncaction %d ", action);
932 if ( action == 0 ) { 941 if ( action == 0 ) {
942
933 confSync(); 943 confSync();
944
934 return; 945 return;
935 } 946 }
936 if ( action == 1 ) { 947 if ( action == 1 ) {
937 multiSync( true ); 948 multiSync( true );
938 return; 949 return;
939 } 950 }
940 951
941 if (mBlockSaveFlag) 952 if (mBlockSaveFlag)
942 return; 953 return;
943 mBlockSaveFlag = true; 954 mBlockSaveFlag = true;
944 mCurrentSyncProfile = action - 1000 ; 955 mCurrentSyncProfile = action - 1000 ;
945 mView->setSyncDevice(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile] ); 956 mView->setSyncDevice(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile] );
946 mView->setSyncName( KOPrefs::instance()->mLocalMachineName ); 957 mView->setSyncName( KOPrefs::instance()->mLocalMachineName );
947 KConfig *config = KOGlobals::config(); 958 KConfig *config = KOGlobals::config();
948 KSyncProfile* temp = new KSyncProfile (); 959 KSyncProfile* temp = new KSyncProfile ();
949 temp->setName(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile]); 960 temp->setName(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile]);
950 temp->readConfig(config); 961 temp->readConfig(config);
951 KOPrefs::instance()->mAskForPreferences = temp->getAskForPreferences(); 962 KOPrefs::instance()->mAskForPreferences = temp->getAskForPreferences();
952 KOPrefs::instance()->mSyncAlgoPrefs = temp->getSyncPrefs(); 963 KOPrefs::instance()->mSyncAlgoPrefs = temp->getSyncPrefs();
953 KOPrefs::instance()->mWriteBackFile = temp->getWriteBackFile(); 964 KOPrefs::instance()->mWriteBackFile = temp->getWriteBackFile();
954 KOPrefs::instance()->mWriteBackExistingOnly = temp->getWriteBackExisting(); 965 KOPrefs::instance()->mWriteBackExistingOnly = temp->getWriteBackExisting();
955 KOPrefs::instance()->mShowSyncSummary = temp->getShowSummaryAfterSync(); 966 KOPrefs::instance()->mShowSyncSummary = temp->getShowSummaryAfterSync();
956 if ( action == 1000 ) { 967 if ( action == 1000 ) {
957 syncSharp(); 968 syncSharp();
@@ -1198,48 +1209,57 @@ void MainWindow::processIncidenceSelection( Incidence *incidence )
1198 1209
1199 mNewSubTodoAction->setEnabled( false ); 1210 mNewSubTodoAction->setEnabled( false );
1200 } else if ( incidence->type() == "Todo" ) { 1211 } else if ( incidence->type() == "Todo" ) {
1201 mShowAction->setText( i18n("Show Todo...") ); 1212 mShowAction->setText( i18n("Show Todo...") );
1202 mEditAction->setText( i18n("Edit Todo...") ); 1213 mEditAction->setText( i18n("Edit Todo...") );
1203 mDeleteAction->setText( i18n("Delete Todo...") ); 1214 mDeleteAction->setText( i18n("Delete Todo...") );
1204 1215
1205 mNewSubTodoAction->setEnabled( true ); 1216 mNewSubTodoAction->setEnabled( true );
1206 } else { 1217 } else {
1207 mShowAction->setText( i18n("Show...") ); 1218 mShowAction->setText( i18n("Show...") );
1208 mShowAction->setText( i18n("Edit...") ); 1219 mShowAction->setText( i18n("Edit...") );
1209 mShowAction->setText( i18n("Delete...") ); 1220 mShowAction->setText( i18n("Delete...") );
1210 1221
1211 mNewSubTodoAction->setEnabled( false ); 1222 mNewSubTodoAction->setEnabled( false );
1212 } 1223 }
1213} 1224}
1214 1225
1215void MainWindow::enableIncidenceActions( bool enabled ) 1226void MainWindow::enableIncidenceActions( bool enabled )
1216{ 1227{
1217 mShowAction->setEnabled( enabled ); 1228 mShowAction->setEnabled( enabled );
1218 mEditAction->setEnabled( enabled ); 1229 mEditAction->setEnabled( enabled );
1219 mDeleteAction->setEnabled( enabled ); 1230 mDeleteAction->setEnabled( enabled );
1220} 1231}
1221 1232
1233void MainWindow::importOL()
1234{
1235#ifdef _WIN32_
1236 KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this );
1237 id->exec();
1238 delete id;
1239 mView->updateView();
1240#endif
1241}
1222void MainWindow::importBday() 1242void MainWindow::importBday()
1223{ 1243{
1224 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1244 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1225 i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"), 1245 i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"),
1226 i18n("Import!"), i18n("Cancel"), 0, 1246 i18n("Import!"), i18n("Cancel"), 0,
1227 0, 1 ); 1247 0, 1 );
1228 if ( result == 0 ) { 1248 if ( result == 0 ) {
1229 mView->importBday(); 1249 mView->importBday();
1230 1250
1231 } 1251 }
1232 1252
1233 1253
1234} 1254}
1235void MainWindow::importQtopia() 1255void MainWindow::importQtopia()
1236{ 1256{
1237#ifndef DESKTOP_VERSION 1257#ifndef DESKTOP_VERSION
1238 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1258 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1239 i18n("When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing"), 1259 i18n("When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing"),
1240 i18n("Import!"), i18n("Cancel"), 0, 1260 i18n("Import!"), i18n("Cancel"), 0,
1241 0, 1 ); 1261 0, 1 );
1242 if ( result == 0 ) { 1262 if ( result == 0 ) {
1243 QString datebook = Global::applicationFileName( "datebook", "datebook.xml"); 1263 QString datebook = Global::applicationFileName( "datebook", "datebook.xml");
1244 QString todolist = Global::applicationFileName( "todolist", "todolist.xml"); 1264 QString todolist = Global::applicationFileName( "todolist", "todolist.xml");
1245 QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml"; 1265 QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml";