summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-03-28 15:16:46 (UTC)
committer zautrix <zautrix>2005-03-28 15:16:46 (UTC)
commit435d67be852dc98b460bd3123a2164131db82334 (patch) (unidiff)
tree5d031d970da9214e111079061ccae271752c33c0
parente4e6bda3a6b0a82e3f64db0fa5f7d60cab9f0e48 (diff)
downloadkdepimpi-435d67be852dc98b460bd3123a2164131db82334.zip
kdepimpi-435d67be852dc98b460bd3123a2164131db82334.tar.gz
kdepimpi-435d67be852dc98b460bd3123a2164131db82334.tar.bz2
more fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/mainwindow.cpp38
1 files changed, 35 insertions, 3 deletions
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index ad1c0cd..2da592b 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -1150,1045 +1150,1077 @@ void MainWindow::initActions()
1150 } 1150 }
1151 1151
1152 1152
1153 configureToolBarMenu->insertItem(i18n("What's This?"), 300, 6); 1153 configureToolBarMenu->insertItem(i18n("What's This?"), 300, 6);
1154 1154
1155 if (p-> mShowIconNewEvent) 1155 if (p-> mShowIconNewEvent)
1156 configureToolBarMenu->setItemChecked( 10, true ); 1156 configureToolBarMenu->setItemChecked( 10, true );
1157 if (p->mShowIconNewTodo ) 1157 if (p->mShowIconNewTodo )
1158 configureToolBarMenu->setItemChecked( 20, true ); 1158 configureToolBarMenu->setItemChecked( 20, true );
1159 if (p-> mShowIconSearch) 1159 if (p-> mShowIconSearch)
1160 configureToolBarMenu->setItemChecked( 120, true ); 1160 configureToolBarMenu->setItemChecked( 120, true );
1161 if (p-> mShowIconList) 1161 if (p-> mShowIconList)
1162 configureToolBarMenu->setItemChecked( 30, true ); 1162 configureToolBarMenu->setItemChecked( 30, true );
1163 if (p-> mShowIconDay1) 1163 if (p-> mShowIconDay1)
1164 configureToolBarMenu->setItemChecked( 40, true ); 1164 configureToolBarMenu->setItemChecked( 40, true );
1165 if (p-> mShowIconDay5) 1165 if (p-> mShowIconDay5)
1166 configureToolBarMenu->setItemChecked( 50, true ); 1166 configureToolBarMenu->setItemChecked( 50, true );
1167 if (p-> mShowIconDay6) 1167 if (p-> mShowIconDay6)
1168 configureToolBarMenu->setItemChecked( 75, true ); 1168 configureToolBarMenu->setItemChecked( 75, true );
1169 if (p-> mShowIconDay7) 1169 if (p-> mShowIconDay7)
1170 configureToolBarMenu->setItemChecked( 60, true ); 1170 configureToolBarMenu->setItemChecked( 60, true );
1171 if (p-> mShowIconMonth) 1171 if (p-> mShowIconMonth)
1172 configureToolBarMenu->setItemChecked( 70, true ); 1172 configureToolBarMenu->setItemChecked( 70, true );
1173 if (p-> mShowIconTodoview) 1173 if (p-> mShowIconTodoview)
1174 configureToolBarMenu->setItemChecked( 80, true ); 1174 configureToolBarMenu->setItemChecked( 80, true );
1175 if (p-> mShowIconBackFast) 1175 if (p-> mShowIconBackFast)
1176 configureToolBarMenu->setItemChecked( 200, true ); 1176 configureToolBarMenu->setItemChecked( 200, true );
1177 if (p-> mShowIconBack) 1177 if (p-> mShowIconBack)
1178 configureToolBarMenu->setItemChecked( 210, true ); 1178 configureToolBarMenu->setItemChecked( 210, true );
1179 if (p-> mShowIconToday) 1179 if (p-> mShowIconToday)
1180 configureToolBarMenu->setItemChecked( 130, true ); 1180 configureToolBarMenu->setItemChecked( 130, true );
1181 if (p-> mShowIconForward) 1181 if (p-> mShowIconForward)
1182 configureToolBarMenu->setItemChecked( 220, true ); 1182 configureToolBarMenu->setItemChecked( 220, true );
1183 if (p-> mShowIconForwardFast) 1183 if (p-> mShowIconForwardFast)
1184 configureToolBarMenu->setItemChecked( 230, true ); 1184 configureToolBarMenu->setItemChecked( 230, true );
1185 if (p-> mShowIconNextDays) 1185 if (p-> mShowIconNextDays)
1186 configureToolBarMenu->setItemChecked( 100, true ); 1186 configureToolBarMenu->setItemChecked( 100, true );
1187 if (p-> mShowIconNext) 1187 if (p-> mShowIconNext)
1188 configureToolBarMenu->setItemChecked( 110, true ); 1188 configureToolBarMenu->setItemChecked( 110, true );
1189 if (p-> mShowIconJournal) 1189 if (p-> mShowIconJournal)
1190 configureToolBarMenu->setItemChecked( 90, true ); 1190 configureToolBarMenu->setItemChecked( 90, true );
1191 if (p-> mShowIconWhatsThis) 1191 if (p-> mShowIconWhatsThis)
1192 configureToolBarMenu->setItemChecked( 300, true ); 1192 configureToolBarMenu->setItemChecked( 300, true );
1193 if (p-> mShowIconWeekNum) 1193 if (p-> mShowIconWeekNum)
1194 configureToolBarMenu->setItemChecked( 400, true ); 1194 configureToolBarMenu->setItemChecked( 400, true );
1195 if (!p-> mShowIconStretch) { 1195 if (!p-> mShowIconStretch) {
1196 QLabel* dummy = new QLabel( iconToolBar ); 1196 QLabel* dummy = new QLabel( iconToolBar );
1197 dummy->setBackgroundColor( iconToolBar->backgroundColor() ); 1197 dummy->setBackgroundColor( iconToolBar->backgroundColor() );
1198 dummy->setMinimumWidth( 0 ); 1198 dummy->setMinimumWidth( 0 );
1199 iconToolBar->setStretchableWidget ( dummy ) ; 1199 iconToolBar->setStretchableWidget ( dummy ) ;
1200 } 1200 }
1201 else { 1201 else {
1202 iconToolBar->setHorizontalStretchable (true ); 1202 iconToolBar->setHorizontalStretchable (true );
1203 viewToolBar->setHorizontalStretchable (true ); 1203 viewToolBar->setHorizontalStretchable (true );
1204 navigatorToolBar->setHorizontalStretchable (true ); 1204 navigatorToolBar->setHorizontalStretchable (true );
1205 iconToolBar->setVerticalStretchable (true ); 1205 iconToolBar->setVerticalStretchable (true );
1206 viewToolBar->setVerticalStretchable (true ); 1206 viewToolBar->setVerticalStretchable (true );
1207 navigatorToolBar->setVerticalStretchable (true ); 1207 navigatorToolBar->setVerticalStretchable (true );
1208 configureToolBarMenu->setItemChecked( 5, true ); 1208 configureToolBarMenu->setItemChecked( 5, true );
1209 } 1209 }
1210 if (p-> mShowIconFilter) 1210 if (p-> mShowIconFilter)
1211 configureToolBarMenu->setItemChecked( 7, true ); 1211 configureToolBarMenu->setItemChecked( 7, true );
1212 if (p-> mShowIconOnetoolbar) 1212 if (p-> mShowIconOnetoolbar)
1213 configureToolBarMenu->setItemChecked( 6, true ); 1213 configureToolBarMenu->setItemChecked( 6, true );
1214 1214
1215 1215
1216 if ( filterMenubar ) 1216 if ( filterMenubar )
1217 connect( mView->filterView(), SIGNAL( filterChanged() ), SLOT( updateFilterToolbar() ) ); 1217 connect( mView->filterView(), SIGNAL( filterChanged() ), SLOT( updateFilterToolbar() ) );
1218 connect( configureToolBarMenu, SIGNAL( activated( int ) ),this, SLOT(configureToolBar( int ) ) ); 1218 connect( configureToolBarMenu, SIGNAL( activated( int ) ),this, SLOT(configureToolBar( int ) ) );
1219 configureAgenda( p->mHourSize ); 1219 configureAgenda( p->mHourSize );
1220 connect( configureAgendaMenu, SIGNAL( activated( int ) ),this, SLOT(configureAgenda( int ) ) ); 1220 connect( configureAgendaMenu, SIGNAL( activated( int ) ),this, SLOT(configureAgenda( int ) ) );
1221} 1221}
1222 1222
1223void MainWindow::exportToPhone( int mode ) 1223void MainWindow::exportToPhone( int mode )
1224{ 1224{
1225 1225
1226 //ex2phone->insertItem(i18n("Complete calendar..."), 1 ); 1226 //ex2phone->insertItem(i18n("Complete calendar..."), 1 );
1227 //ex2phone->insertItem(i18n("Filtered calendar..."), 2 ); 1227 //ex2phone->insertItem(i18n("Filtered calendar..."), 2 );
1228 KOex2phonePrefs ex2phone; 1228 KOex2phonePrefs ex2phone;
1229 1229
1230 ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection ); 1230 ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection );
1231 ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice ); 1231 ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice );
1232 ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel ); 1232 ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel );
1233 if ( mode == 1 ) 1233 if ( mode == 1 )
1234 ex2phone.setCaption(i18n("Export complete calendar")); 1234 ex2phone.setCaption(i18n("Export complete calendar"));
1235 if ( mode == 2 ) 1235 if ( mode == 2 )
1236 ex2phone.setCaption(i18n("Export filtered calendar")); 1236 ex2phone.setCaption(i18n("Export filtered calendar"));
1237 1237
1238 if ( !ex2phone.exec() ) { 1238 if ( !ex2phone.exec() ) {
1239 return; 1239 return;
1240 } 1240 }
1241 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text(); 1241 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text();
1242 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text(); 1242 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text();
1243 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text(); 1243 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text();
1244 1244
1245 int inFuture = 0; 1245 int inFuture = 0;
1246 if ( ex2phone.mWriteBackFuture->isChecked() ) 1246 if ( ex2phone.mWriteBackFuture->isChecked() )
1247 inFuture = ex2phone.mWriteBackFutureWeeks->value(); 1247 inFuture = ex2phone.mWriteBackFutureWeeks->value();
1248 QPtrList<Incidence> delSel; 1248 QPtrList<Incidence> delSel;
1249 if ( mode == 1 ) 1249 if ( mode == 1 )
1250 delSel = mCalendar->rawIncidences(); 1250 delSel = mCalendar->rawIncidences();
1251 if ( mode == 2 ) 1251 if ( mode == 2 )
1252 delSel = mCalendar->incidences(); 1252 delSel = mCalendar->incidences();
1253 CalendarLocal* cal = new CalendarLocal(); 1253 CalendarLocal* cal = new CalendarLocal();
1254 cal->setLocalTime(); 1254 cal->setLocalTime();
1255 Incidence *incidence = delSel.first(); 1255 Incidence *incidence = delSel.first();
1256 QDateTime cur = QDateTime::currentDateTime().addDays( -7 ); 1256 QDateTime cur = QDateTime::currentDateTime().addDays( -7 );
1257 QDateTime end = cur.addDays( ( inFuture +1 ) *7 ); 1257 QDateTime end = cur.addDays( ( inFuture +1 ) *7 );
1258 while ( incidence ) { 1258 while ( incidence ) {
1259 if ( incidence->type() != "Journal" ) { 1259 if ( incidence->type() != "Journal" ) {
1260 bool add = true; 1260 bool add = true;
1261 if ( inFuture ) { 1261 if ( inFuture ) {
1262 QDateTime dt; 1262 QDateTime dt;
1263 if ( incidence->type() == "Todo" ) { 1263 if ( incidence->type() == "Todo" ) {
1264 Todo * t = (Todo*)incidence; 1264 Todo * t = (Todo*)incidence;
1265 if ( t->hasDueDate() ) 1265 if ( t->hasDueDate() )
1266 dt = t->dtDue(); 1266 dt = t->dtDue();
1267 else 1267 else
1268 dt = cur.addSecs( 62 ); 1268 dt = cur.addSecs( 62 );
1269 } 1269 }
1270 else { 1270 else {
1271 bool ok; 1271 bool ok;
1272 dt = incidence->getNextOccurence( cur, &ok ); 1272 dt = incidence->getNextOccurence( cur, &ok );
1273 if ( !ok ) 1273 if ( !ok )
1274 dt = cur.addSecs( -62 ); 1274 dt = cur.addSecs( -62 );
1275 } 1275 }
1276 if ( dt < cur || dt > end ) { 1276 if ( dt < cur || dt > end ) {
1277 add = false; 1277 add = false;
1278 } 1278 }
1279 } 1279 }
1280 if ( add ) { 1280 if ( add ) {
1281 Incidence *in = incidence->clone(); 1281 Incidence *in = incidence->clone();
1282 cal->addIncidence( in ); 1282 cal->addIncidence( in );
1283 } 1283 }
1284 } 1284 }
1285 incidence = delSel.next(); 1285 incidence = delSel.next();
1286 } 1286 }
1287 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice, 1287 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice,
1288 KPimGlobalPrefs::instance()->mEx2PhoneConnection, 1288 KPimGlobalPrefs::instance()->mEx2PhoneConnection,
1289 KPimGlobalPrefs::instance()->mEx2PhoneModel ); 1289 KPimGlobalPrefs::instance()->mEx2PhoneModel );
1290 1290
1291 setCaption( i18n("Writing to phone...")); 1291 setCaption( i18n("Writing to phone..."));
1292 if ( PhoneFormat::writeToPhone( cal ) ) 1292 if ( PhoneFormat::writeToPhone( cal ) )
1293 setCaption( i18n("Export to phone successful!")); 1293 setCaption( i18n("Export to phone successful!"));
1294 else 1294 else
1295 setCaption( i18n("Error exporting to phone!")); 1295 setCaption( i18n("Error exporting to phone!"));
1296 delete cal; 1296 delete cal;
1297} 1297}
1298 1298
1299 1299
1300void MainWindow::setDefaultPreferences() 1300void MainWindow::setDefaultPreferences()
1301{ 1301{
1302 KOPrefs *p = KOPrefs::instance(); 1302 KOPrefs *p = KOPrefs::instance();
1303 1303
1304 p->mCompactDialogs = true; 1304 p->mCompactDialogs = true;
1305 p->mConfirm = true; 1305 p->mConfirm = true;
1306 // p->mEnableQuickTodo = false; 1306 // p->mEnableQuickTodo = false;
1307 1307
1308} 1308}
1309 1309
1310QString MainWindow::resourcePath() 1310QString MainWindow::resourcePath()
1311{ 1311{
1312 return KGlobal::iconLoader()->iconPath(); 1312 return KGlobal::iconLoader()->iconPath();
1313} 1313}
1314 1314
1315void MainWindow::displayText( QString text ,QString cap ) 1315void MainWindow::displayText( QString text ,QString cap )
1316{ 1316{
1317 QDialog dia( this, "name", true ); ; 1317 QDialog dia( this, "name", true ); ;
1318 dia.setCaption( cap ); 1318 dia.setCaption( cap );
1319 QVBoxLayout* lay = new QVBoxLayout( &dia ); 1319 QVBoxLayout* lay = new QVBoxLayout( &dia );
1320 lay->setSpacing( 3 ); 1320 lay->setSpacing( 3 );
1321 lay->setMargin( 3 ); 1321 lay->setMargin( 3 );
1322 QTextBrowser tb ( &dia ); 1322 QTextBrowser tb ( &dia );
1323 lay->addWidget( &tb ); 1323 lay->addWidget( &tb );
1324 tb.setText( text ); 1324 tb.setText( text );
1325#ifdef DESKTOP_VERSION 1325#ifdef DESKTOP_VERSION
1326 dia.resize( 640, 480); 1326 dia.resize( 640, 480);
1327#else 1327#else
1328 dia.showMaximized(); 1328 dia.showMaximized();
1329#endif 1329#endif
1330 dia.exec(); 1330 dia.exec();
1331} 1331}
1332 1332
1333void MainWindow::features() 1333void MainWindow::features()
1334{ 1334{
1335 1335
1336 KApplication::showFile( i18n("KO/Pi Features and hints"), "kdepim/korganizer/featuresKOPI.txt" ); 1336 KApplication::showFile( i18n("KO/Pi Features and hints"), "kdepim/korganizer/featuresKOPI.txt" );
1337} 1337}
1338 1338
1339void MainWindow::usertrans() 1339void MainWindow::usertrans()
1340{ 1340{
1341 1341
1342 KApplication::showFile( i18n("KO/Pi User translation HowTo"), "kdepim/korganizer/usertranslationHOWTO.txt" ); 1342 KApplication::showFile( i18n("KO/Pi User translation HowTo"), "kdepim/korganizer/usertranslationHOWTO.txt" );
1343} 1343}
1344 1344
1345void MainWindow::kdesynchowto() 1345void MainWindow::kdesynchowto()
1346{ 1346{
1347 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" ); 1347 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" );
1348} 1348}
1349void MainWindow::multisynchowto() 1349void MainWindow::multisynchowto()
1350{ 1350{
1351 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" ); 1351 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" );
1352} 1352}
1353void MainWindow::synchowto() 1353void MainWindow::synchowto()
1354{ 1354{
1355 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" ); 1355 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" );
1356} 1356}
1357void MainWindow::faq() 1357void MainWindow::faq()
1358{ 1358{
1359 KApplication::showFile( i18n("KO/Pi FAQ"), "kdepim/korganizer/kopiFAQ.txt" ); 1359 KApplication::showFile( i18n("KO/Pi FAQ"), "kdepim/korganizer/kopiFAQ.txt" );
1360 1360
1361} 1361}
1362void MainWindow::whatsNew() 1362void MainWindow::whatsNew()
1363{ 1363{
1364 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" ); 1364 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" );
1365 1365
1366} 1366}
1367void MainWindow::licence() 1367void MainWindow::licence()
1368{ 1368{
1369 KApplication::showLicence(); 1369 KApplication::showLicence();
1370 1370
1371} 1371}
1372void MainWindow::about() 1372void MainWindow::about()
1373{ 1373{
1374 QString version; 1374 QString version;
1375#include <../version> 1375#include <../version>
1376 QMessageBox::about( this, i18n("About KOrganizer/Pi"), 1376 QMessageBox::about( this, i18n("About KOrganizer/Pi"),
1377 i18n("KOrganizer/Platform-independent\n") + 1377 i18n("KOrganizer/Platform-independent\n") +
1378 "(KO/Pi) " + version + " - " + 1378 "(KO/Pi) " + version + " - " +
1379 1379
1380#ifdef DESKTOP_VERSION 1380#ifdef DESKTOP_VERSION
1381 i18n("Desktop Edition\n") + 1381 i18n("Desktop Edition\n") +
1382#else 1382#else
1383 i18n("PDA-Edition\nfor: Zaurus 5x00/7x0/860/3000/6000\n") + 1383 i18n("PDA-Edition\nfor: Zaurus 5x00/7x0/860/3000/6000\n") +
1384#endif 1384#endif
1385 i18n("(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi is based on KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) and the KDE team.\nKOrganizer/Pi is licensed under the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.pi-sync.info --- www.korganizer.org\nSpecial thanks to Michael and Ben\nfor intensive testing!") ); 1385 i18n("(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi is based on KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) and the KDE team.\nKOrganizer/Pi is licensed under the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.pi-sync.info --- www.korganizer.org\nSpecial thanks to Michael and Ben\nfor intensive testing!") );
1386} 1386}
1387void MainWindow::keyBindings() 1387void MainWindow::keyBindings()
1388{ 1388{
1389 QString cap = i18n("KO/Pi Keys + Colors"); 1389 QString cap = i18n("KO/Pi Keys + Colors");
1390 QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") + 1390 QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") +
1391 i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+ 1391 i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+
1392 i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") + 1392 i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") +
1393 i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+ 1393 i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+
1394 i18n("<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n")+ 1394 i18n("<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n")+
1395 i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+ 1395 i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+
1396 i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+ 1396 i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+
1397 i18n("<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ")+ 1397 i18n("<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ")+
1398 i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+ 1398 i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+
1399 i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+ 1399 i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+
1400 i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+ 1400 i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+
1401 i18n("<p><b>K</b>: Week view in Month view syle</p>\n")+ 1401 i18n("<p><b>K</b>: Week view in Month view syle</p>\n")+
1402 i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+ 1402 i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+
1403 i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+ 1403 i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+
1404 i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n")+ 1404 i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n")+
1405 i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+ 1405 i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+
1406 i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+ 1406 i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+
1407 i18n("<p><b>B</b>: Edit description (details) of selected item</p>\n")+ 1407 i18n("<p><b>B</b>: Edit description (details) of selected item</p>\n")+
1408 i18n("<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n")+ 1408 i18n("<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n")+
1409 i18n("<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n")+ 1409 i18n("<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n")+
1410 i18n("<p><b>del,backspace</b>: Delete selected item</p>\n")+ 1410 i18n("<p><b>del,backspace</b>: Delete selected item</p>\n")+
1411 i18n("<p><h3>In agenda view:</h3></p>\n") + 1411 i18n("<p><h3>In agenda view:</h3></p>\n") +
1412 i18n("<p><b>up/down</b>: Scroll agenda view</p>\n")+ 1412 i18n("<p><b>up/down</b>: Scroll agenda view</p>\n")+
1413 i18n("<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n")+ 1413 i18n("<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n")+
1414 i18n("<p><h3>In todo view:</h3></p>\n") + 1414 i18n("<p><h3>In todo view:</h3></p>\n") +
1415 i18n("<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n")+ 1415 i18n("<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n")+
1416 i18n("<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n")+ 1416 i18n("<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n")+
1417 i18n("<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n")+ 1417 i18n("<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n")+
1418 i18n("<p><b>Q</b>: Toggle quick todo line edit.</p>\n")+ 1418 i18n("<p><b>Q</b>: Toggle quick todo line edit.</p>\n")+
1419 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ 1419 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+
1420 i18n("<p><b>return</b>: Mark item as completed+one step down.</p>\n")+ 1420 i18n("<p><b>return</b>: Mark item as completed+one step down.</p>\n")+
1421 i18n("<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n")+ 1421 i18n("<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n")+
1422 i18n("<p><h3>In list view:</h3></p>\n") + 1422 i18n("<p><h3>In list view:</h3></p>\n") +
1423 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ 1423 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+
1424 i18n("<p><b>return</b>: Select item+one step down</p>\n")+ 1424 i18n("<p><b>return</b>: Select item+one step down</p>\n")+
1425 i18n("<p><b>return+shift</b>: Deselect item+one step down</p>\n")+ 1425 i18n("<p><b>return+shift</b>: Deselect item+one step down</p>\n")+
1426 i18n("<p><b>up/down</b>: Next/prev item</p>\n")+ 1426 i18n("<p><b>up/down</b>: Next/prev item</p>\n")+
1427 i18n("<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n")+ 1427 i18n("<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n")+
1428 i18n("<p><b>shift+up/down</b>: Goto first/last item</p>\n")+ 1428 i18n("<p><b>shift+up/down</b>: Goto first/last item</p>\n")+
1429 i18n("<p><h3>In event/todo viewer:</h3></p>\n") + 1429 i18n("<p><h3>In event/todo viewer:</h3></p>\n") +
1430 i18n("<p><b>I,C</b>: Close dialog.</p>\n")+ 1430 i18n("<p><b>I,C</b>: Close dialog.</p>\n")+
1431 i18n("<p><b>A</b>: Show agenda view.</p>\n")+ 1431 i18n("<p><b>A</b>: Show agenda view.</p>\n")+
1432 i18n("<p><b>E</b>: Edit item</p>\n") + 1432 i18n("<p><b>E</b>: Edit item</p>\n") +
1433 i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") + 1433 i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") +
1434 i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") + 1434 i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") +
1435 i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+ 1435 i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+
1436 i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+ 1436 i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+
1437 i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+ 1437 i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+
1438 i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+ 1438 i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+
1439 i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+ 1439 i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+
1440 i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") + 1440 i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") +
1441 i18n("<p><b>White</b>: Item readonly</p>\n"); 1441 i18n("<p><b>White</b>: Item readonly</p>\n");
1442 displayText( text, cap); 1442 displayText( text, cap);
1443} 1443}
1444void MainWindow::aboutAutoSaving() 1444void MainWindow::aboutAutoSaving()
1445{ 1445{
1446 QString text = i18n("After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configurable) three minutes.\nFor safety reasons there is one autosaving\nafter 10 minutes (of idle time) again. The \ndata is saved automatically when closing KO/Pi\nYou can create a backup file \nwith: File - Save Calendar Backup\n"); 1446 QString text = i18n("After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configurable) three minutes.\nFor safety reasons there is one autosaving\nafter 10 minutes (of idle time) again. The \ndata is saved automatically when closing KO/Pi\nYou can create a backup file \nwith: File - Save Calendar Backup\n");
1447 1447
1448 KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text); 1448 KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text);
1449 1449
1450} 1450}
1451void MainWindow::aboutKnownBugs() 1451void MainWindow::aboutKnownBugs()
1452{ 1452{
1453 QMessageBox* msg; 1453 QMessageBox* msg;
1454 msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"), 1454 msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"),
1455 i18n("1) Importing *.vcs or *.ics files from\nother applications may not work properly,\nif there are events with properties\nKO/Pi does not support.\n")+ 1455 i18n("1) Importing *.vcs or *.ics files from\nother applications may not work properly,\nif there are events with properties\nKO/Pi does not support.\n")+
1456 i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+ 1456 i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+
1457 i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.info\n") + 1457 i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.info\n") +
1458 i18n("\nor report them in the bugtracker on\n") + 1458 i18n("\nor report them in the bugtracker on\n") +
1459 i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"), 1459 i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"),
1460 QMessageBox::NoIcon, 1460 QMessageBox::NoIcon,
1461 QMessageBox::Ok, 1461 QMessageBox::Ok,
1462 QMessageBox::NoButton, 1462 QMessageBox::NoButton,
1463 QMessageBox::NoButton); 1463 QMessageBox::NoButton);
1464 msg->exec(); 1464 msg->exec();
1465 delete msg; 1465 delete msg;
1466 1466
1467} 1467}
1468 1468
1469QString MainWindow::defaultFileName() 1469QString MainWindow::defaultFileName()
1470{ 1470{
1471 return locateLocal( "data", "korganizer/mycalendar.ics" ); 1471 return locateLocal( "data", "korganizer/mycalendar.ics" );
1472} 1472}
1473QString MainWindow::syncFileName() 1473QString MainWindow::syncFileName()
1474{ 1474{
1475#ifdef DESKTOP_VERSION 1475#ifdef DESKTOP_VERSION
1476 return locateLocal( "tmp", "synccalendar.ics" ); 1476 return locateLocal( "tmp", "synccalendar.ics" );
1477#else 1477#else
1478 return QString( "/tmp/synccalendar.ics" ); 1478 return QString( "/tmp/synccalendar.ics" );
1479#endif 1479#endif
1480} 1480}
1481void MainWindow::updateWeek(QDate seda) 1481void MainWindow::updateWeek(QDate seda)
1482{ 1482{
1483 int weekNum = 0; 1483 int weekNum = 0;
1484 QDate d = QDate ( seda.year(), 1,1); 1484 QDate d = QDate ( seda.year(), 1,1);
1485 seda = seda.addDays( 1-seda.dayOfWeek() );//we are on monday 1485 seda = seda.addDays( 1-seda.dayOfWeek() );//we are on monday
1486 if ( seda.addDays(6).year() != seda.year() ) { 1486 if ( seda.addDays(6).year() != seda.year() ) {
1487 if ( seda.year() != d.year() ) { 1487 if ( seda.year() != d.year() ) {
1488 if ( d.dayOfWeek() > 4 ) 1488 if ( d.dayOfWeek() > 4 )
1489 d = QDate ( seda.year(), 1,1); 1489 d = QDate ( seda.year(), 1,1);
1490 else 1490 else
1491 weekNum = 1; 1491 weekNum = 1;
1492 } else { 1492 } else {
1493 QDate dd( seda.year()+1, 1,1); 1493 QDate dd( seda.year()+1, 1,1);
1494 if ( dd.dayOfWeek() <= 4 ) 1494 if ( dd.dayOfWeek() <= 4 )
1495 weekNum = 1; 1495 weekNum = 1;
1496 } 1496 }
1497 } 1497 }
1498 if ( weekNum == 0 ){ 1498 if ( weekNum == 0 ){
1499 int dow = d.dayOfWeek(); 1499 int dow = d.dayOfWeek();
1500 if ( dow <= 4 ) 1500 if ( dow <= 4 )
1501 d = d.addDays( 1-dow ); 1501 d = d.addDays( 1-dow );
1502 else // 5,6,7 1502 else // 5,6,7
1503 d = d.addDays( 8-dow ); 1503 d = d.addDays( 8-dow );
1504 // we have the first week of the year.we are on monday 1504 // we have the first week of the year.we are on monday
1505 weekNum = d.daysTo( seda ) / 7 +1; 1505 weekNum = d.daysTo( seda ) / 7 +1;
1506 } 1506 }
1507 1507
1508 mWeekPixmap.fill( mWeekBgColor ); 1508 mWeekPixmap.fill( mWeekBgColor );
1509 QPainter p ( &mWeekPixmap ); 1509 QPainter p ( &mWeekPixmap );
1510 p.setFont( mWeekFont ); 1510 p.setFont( mWeekFont );
1511 p.drawText( 0,0,mWeekPixmap.width(), mWeekPixmap.height(),AlignCenter, QString::number( weekNum) ); 1511 p.drawText( 0,0,mWeekPixmap.width(), mWeekPixmap.height(),AlignCenter, QString::number( weekNum) );
1512 p.end(); 1512 p.end();
1513 QIconSet icon3 ( mWeekPixmap ); 1513 QIconSet icon3 ( mWeekPixmap );
1514 mWeekAction->setIconSet ( icon3 ); 1514 mWeekAction->setIconSet ( icon3 );
1515 1515
1516} 1516}
1517void MainWindow::updateWeekNum(const DateList &selectedDates) 1517void MainWindow::updateWeekNum(const DateList &selectedDates)
1518{ 1518{
1519 updateWeek( selectedDates.first() ); 1519 updateWeek( selectedDates.first() );
1520} 1520}
1521void MainWindow::processIncidenceSelection( Incidence *incidence ) 1521void MainWindow::processIncidenceSelection( Incidence *incidence )
1522{ 1522{
1523 1523
1524 if ( !incidence ) { 1524 if ( !incidence ) {
1525 enableIncidenceActions( false ); 1525 enableIncidenceActions( false );
1526 1526
1527 mNewSubTodoAction->setEnabled( false ); 1527 mNewSubTodoAction->setEnabled( false );
1528 setCaptionToDates(); 1528 setCaptionToDates();
1529 return; 1529 return;
1530 1530
1531 } 1531 }
1532 1532
1533 //KGlobal::locale()->formatDateTime(nextA, true); 1533 //KGlobal::locale()->formatDateTime(nextA, true);
1534 QString startString = ""; 1534 QString startString = "";
1535 if ( incidence->type() != "Todo" ) { 1535 if ( incidence->type() != "Todo" ) {
1536 if ( incidence->dtStart().date() < incidence->dtEnd().date() ) { 1536 if ( incidence->dtStart().date() < incidence->dtEnd().date() ) {
1537 if ( incidence->doesFloat() ) { 1537 if ( incidence->doesFloat() ) {
1538 startString += ": "+incidence->dtStartDateStr( true ); 1538 startString += ": "+incidence->dtStartDateStr( true );
1539 startString += " --- "+((Event*)incidence)->dtEndDateStr( true ); 1539 startString += " --- "+((Event*)incidence)->dtEndDateStr( true );
1540 1540
1541 } else { 1541 } else {
1542 startString = ": "+incidence->dtStartStr(true); 1542 startString = ": "+incidence->dtStartStr(true);
1543 startString += " --- "+((Event*)incidence)->dtEndStr(true); 1543 startString += " --- "+((Event*)incidence)->dtEndStr(true);
1544 1544
1545 } 1545 }
1546 1546
1547 } else { 1547 } else {
1548 if ( incidence->dtStart().time() != incidence->dtEnd().time() ) 1548 if ( incidence->dtStart().time() != incidence->dtEnd().time() )
1549 startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+ 1549 startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+
1550 "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time()); 1550 "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time());
1551 if ( incidence->categories().contains( i18n("Birthday") ) || incidence->categories().contains( i18n("Anniversary") ) ) { 1551 if ( incidence->categories().contains( i18n("Birthday") ) || incidence->categories().contains( i18n("Anniversary") ) ) {
1552 bool ok; 1552 bool ok;
1553 QDateTime noc = incidence->getNextOccurence( mView->startDate().addDays(-1), &ok ); 1553 QDateTime noc = incidence->getNextOccurence( mView->startDate().addDays(-1), &ok );
1554 if ( ok ) { 1554 if ( ok ) {
1555 int years = noc.date().year() - incidence->dtStart().date().year(); 1555 int years = noc.date().year() - incidence->dtStart().date().year();
1556 startString += i18n(" (%1 y.)"). arg( years ); 1556 startString += i18n(" (%1 y.)"). arg( years );
1557 } 1557 }
1558 } 1558 }
1559 else 1559 else
1560 startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true); 1560 startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true);
1561 } 1561 }
1562 1562
1563 } 1563 }
1564 else 1564 else
1565 startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed"); 1565 startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed");
1566 if ( !incidence->location().isEmpty() ) 1566 if ( !incidence->location().isEmpty() )
1567 startString += " (" +incidence->location()+")"; 1567 startString += " (" +incidence->location()+")";
1568 setCaption( incidence->summary()+startString); 1568 setCaption( incidence->summary()+startString);
1569 1569
1570 enableIncidenceActions( true ); 1570 enableIncidenceActions( true );
1571 1571
1572 if ( incidence->type() == "Event" ) { 1572 if ( incidence->type() == "Event" ) {
1573 mShowAction->setText( i18n("Show Event...") ); 1573 mShowAction->setText( i18n("Show Event...") );
1574 mEditAction->setText( i18n("Edit Event...") ); 1574 mEditAction->setText( i18n("Edit Event...") );
1575 mDeleteAction->setText( i18n("Delete Event...") ); 1575 mDeleteAction->setText( i18n("Delete Event...") );
1576 1576
1577 mNewSubTodoAction->setEnabled( false ); 1577 mNewSubTodoAction->setEnabled( false );
1578 } else if ( incidence->type() == "Todo" ) { 1578 } else if ( incidence->type() == "Todo" ) {
1579 mShowAction->setText( i18n("Show Todo...") ); 1579 mShowAction->setText( i18n("Show Todo...") );
1580 mEditAction->setText( i18n("Edit Todo...") ); 1580 mEditAction->setText( i18n("Edit Todo...") );
1581 mDeleteAction->setText( i18n("Delete Todo...") ); 1581 mDeleteAction->setText( i18n("Delete Todo...") );
1582 1582
1583 mNewSubTodoAction->setEnabled( true ); 1583 mNewSubTodoAction->setEnabled( true );
1584 } else { 1584 } else {
1585 mShowAction->setText( i18n("Show...") ); 1585 mShowAction->setText( i18n("Show...") );
1586 mShowAction->setText( i18n("Edit...") ); 1586 mShowAction->setText( i18n("Edit...") );
1587 mShowAction->setText( i18n("Delete...") ); 1587 mShowAction->setText( i18n("Delete...") );
1588 1588
1589 mNewSubTodoAction->setEnabled( false ); 1589 mNewSubTodoAction->setEnabled( false );
1590 } 1590 }
1591} 1591}
1592 1592
1593void MainWindow::enableIncidenceActions( bool enabled ) 1593void MainWindow::enableIncidenceActions( bool enabled )
1594{ 1594{
1595 mShowAction->setEnabled( enabled ); 1595 mShowAction->setEnabled( enabled );
1596 mEditAction->setEnabled( enabled ); 1596 mEditAction->setEnabled( enabled );
1597 mDeleteAction->setEnabled( enabled ); 1597 mDeleteAction->setEnabled( enabled );
1598 1598
1599 mCloneAction->setEnabled( enabled ); 1599 mCloneAction->setEnabled( enabled );
1600 mMoveAction->setEnabled( enabled ); 1600 mMoveAction->setEnabled( enabled );
1601 mBeamAction->setEnabled( enabled ); 1601 mBeamAction->setEnabled( enabled );
1602 mCancelAction->setEnabled( enabled ); 1602 mCancelAction->setEnabled( enabled );
1603} 1603}
1604 1604
1605void MainWindow::importOL() 1605void MainWindow::importOL()
1606{ 1606{
1607#ifdef _OL_IMPORT_ 1607#ifdef _OL_IMPORT_
1608 KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this ); 1608 KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this );
1609 id->exec(); 1609 id->exec();
1610 delete id; 1610 delete id;
1611 mView->updateView(); 1611 mView->updateView();
1612#endif 1612#endif
1613} 1613}
1614void MainWindow::importBday() 1614void MainWindow::importBday()
1615{ 1615{
1616 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1616 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1617 i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"), 1617 i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"),
1618 i18n("Import!"), i18n("Cancel"), 0, 1618 i18n("Import!"), i18n("Cancel"), 0,
1619 0, 1 ); 1619 0, 1 );
1620 if ( result == 0 ) { 1620 if ( result == 0 ) {
1621 mView->importBday(); 1621 mView->importBday();
1622 1622
1623 } 1623 }
1624 1624
1625 1625
1626} 1626}
1627void MainWindow::importQtopia() 1627void MainWindow::importQtopia()
1628{ 1628{
1629 //#ifndef DESKTOP_VERSION 1629 //#ifndef DESKTOP_VERSION
1630 QString mess = 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"); 1630 QString mess = 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");
1631#ifdef DESKTOP_VERSION 1631#ifdef DESKTOP_VERSION
1632 mess += i18n("The content of the following files will be\nimported (located in your home directory (hd)):\n(hd)/Applications/datebook/datebook.xml\n(hd)/Applications/todolist/todolist.xml\nThe following category file will be used:\n(hd)/Settings/Categories.xml"); 1632 mess += i18n("The content of the following files will be\nimported (located in your home directory (hd)):\n(hd)/Applications/datebook/datebook.xml\n(hd)/Applications/todolist/todolist.xml\nThe following category file will be used:\n(hd)/Settings/Categories.xml");
1633#endif 1633#endif
1634 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mess, 1634 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mess,
1635 i18n("Import!"), i18n("Cancel"), 0, 1635 i18n("Import!"), i18n("Cancel"), 0,
1636 0, 1 ); 1636 0, 1 );
1637 if ( result == 0 ) { 1637 if ( result == 0 ) {
1638#ifndef DESKTOP_VERSION 1638#ifndef DESKTOP_VERSION
1639 QString datebook = Global::applicationFileName( "datebook", "datebook.xml"); 1639 QString datebook = Global::applicationFileName( "datebook", "datebook.xml");
1640 QString todolist = Global::applicationFileName( "todolist", "todolist.xml"); 1640 QString todolist = Global::applicationFileName( "todolist", "todolist.xml");
1641 QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml"; 1641 QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml";
1642#else 1642#else
1643 QString datebook = QDir::homeDirPath()+ "/Applications/datebook/datebook.xml"; 1643 QString datebook = QDir::homeDirPath()+ "/Applications/datebook/datebook.xml";
1644 QString todolist = QDir::homeDirPath()+ "/Applications/todolist/todolist.xml"; 1644 QString todolist = QDir::homeDirPath()+ "/Applications/todolist/todolist.xml";
1645 QString categories = QDir::homeDirPath()+ "/Settings/Categories.xml"; 1645 QString categories = QDir::homeDirPath()+ "/Settings/Categories.xml";
1646#endif 1646#endif
1647 mView->importQtopia( categories, datebook, todolist ); 1647 mView->importQtopia( categories, datebook, todolist );
1648 } 1648 }
1649#if 0 1649#if 0
1650 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1650 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1651 i18n("Not supported \non desktop!\n"), 1651 i18n("Not supported \non desktop!\n"),
1652 i18n("Ok"), i18n("Cancel"), 0, 1652 i18n("Ok"), i18n("Cancel"), 0,
1653 0, 1 ); 1653 0, 1 );
1654 1654
1655#endif 1655#endif
1656} 1656}
1657 1657
1658void MainWindow::saveOnClose() 1658void MainWindow::saveOnClose()
1659{ 1659{
1660 KOPrefs *p = KOPrefs::instance(); 1660 KOPrefs *p = KOPrefs::instance();
1661 p->mToolBarHor = ( iconToolBar->orientation () == Qt:: Horizontal ); 1661 p->mToolBarHor = ( iconToolBar->orientation () == Qt:: Horizontal );
1662 p->mToolBarHorV = ( viewToolBar->orientation () == Qt:: Horizontal );
1663 p->mToolBarHorN = ( navigatorToolBar->orientation () == Qt:: Horizontal );
1664 if ( filterToolBar ) {
1665 p->mToolBarHorF = ( filterToolBar->orientation () == Qt:: Horizontal );
1666 }
1667#ifdef DESKTOP_VERSION
1668
1669 QPoint myP;
1670 myP = mapFromGlobal( iconToolBar->mapToGlobal( QPoint( 0,0) ) );
1671 if ( p->mToolBarHor )
1672 p->mToolBarUp = myP.y() > height()/2;
1673 else
1674 p->mToolBarUp = myP.x() > width()/2;
1675 myP = mapFromGlobal( viewToolBar->mapToGlobal( QPoint( 0,0) ) );
1676 if ( p->mToolBarHorV )
1677 p->mToolBarUpV = myP.y() > height()/2;
1678 else
1679 p->mToolBarUpV = myP.x() > width()/2 ;
1680 myP = mapFromGlobal( navigatorToolBar->mapToGlobal( QPoint( 0,0) ) );
1681 if ( p->mToolBarHorN )
1682 p->mToolBarUpN = myP.y() > height()/2;
1683 else
1684 p->mToolBarUpN = myP.x() > width()/2 ;
1685 if ( filterToolBar ) {
1686 myP = mapFromGlobal( filterToolBar->mapToGlobal( QPoint( 0,0) ) );
1687 if ( p->mToolBarHorF )
1688 p->mToolBarUpF = myP.y() > height()/2;
1689 else
1690 p->mToolBarUpF = myP.x() > width()/2 ;
1691 }
1692#else
1662 if ( p->mToolBarHor ) 1693 if ( p->mToolBarHor )
1663 p->mToolBarUp = iconToolBar->y() > height()/2; 1694 p->mToolBarUp = iconToolBar->y() > height()/2;
1664 else 1695 else
1665 p->mToolBarUp = iconToolBar->x() > width()/2; 1696 p->mToolBarUp = iconToolBar->x() > width()/2;
1666 p->mToolBarHorV = ( viewToolBar->orientation () == Qt:: Horizontal );
1667 if ( p->mToolBarHorV ) 1697 if ( p->mToolBarHorV )
1668 p->mToolBarUpV = viewToolBar->y() > height()/2; 1698 p->mToolBarUpV = viewToolBar->y() > height()/2;
1669 else 1699 else
1670 p->mToolBarUpV = viewToolBar->x() > width()/2 ; 1700 p->mToolBarUpV = viewToolBar->x() > width()/2 ;
1671 p->mToolBarHorN = ( navigatorToolBar->orientation () == Qt:: Horizontal ); 1701
1672 if ( p->mToolBarHorN ) 1702 if ( p->mToolBarHorN )
1673 p->mToolBarUpN = navigatorToolBar->y() > height()/2; 1703 p->mToolBarUpN = navigatorToolBar->y() > height()/2;
1674 else 1704 else
1675 p->mToolBarUpN = navigatorToolBar->x() > width()/2 ; 1705 p->mToolBarUpN = navigatorToolBar->x() > width()/2 ;
1676 if ( filterToolBar ) { 1706 if ( filterToolBar ) {
1677 p->mToolBarHorF = ( filterToolBar->orientation () == Qt:: Horizontal );
1678 if ( p->mToolBarHorF ) 1707 if ( p->mToolBarHorF )
1679 p->mToolBarUpF = filterToolBar->y() > height()/2; 1708 p->mToolBarUpF = filterToolBar->y() > height()/2;
1680 else 1709 else
1681 p->mToolBarUpF = filterToolBar->x() > width()/2 ; 1710 p->mToolBarUpF = filterToolBar->x() > width()/2 ;
1682 } 1711 }
1712#endif
1713
1714
1683 mView->writeSettings(); 1715 mView->writeSettings();
1684 if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName())) 1716 if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName()))
1685 save(); 1717 save();
1686} 1718}
1687void MainWindow::slotModifiedChanged( bool changed ) 1719void MainWindow::slotModifiedChanged( bool changed )
1688{ 1720{
1689 if ( mBlockAtStartup ) 1721 if ( mBlockAtStartup )
1690 return; 1722 return;
1691 1723
1692 int msec; 1724 int msec;
1693 // we store the changes after 1 minute, 1725 // we store the changes after 1 minute,
1694 // and for safety reasons after 10 minutes again 1726 // and for safety reasons after 10 minutes again
1695 if ( !mSyncManager->blockSave() ) 1727 if ( !mSyncManager->blockSave() )
1696 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000; 1728 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000;
1697 else 1729 else
1698 msec = 1000 * 600; 1730 msec = 1000 * 600;
1699 mSaveTimer.start( msec, true ); // 1 minute 1731 mSaveTimer.start( msec, true ); // 1 minute
1700 qDebug("KO: Saving File in %d secs!", msec/1000); 1732 qDebug("KO: Saving File in %d secs!", msec/1000);
1701 mCalendarModifiedFlag = true; 1733 mCalendarModifiedFlag = true;
1702} 1734}
1703void MainWindow::saveStopTimer() 1735void MainWindow::saveStopTimer()
1704{ 1736{
1705 mSaveTimer.stop(); 1737 mSaveTimer.stop();
1706 if (mSaveTimer.isActive() ) 1738 if (mSaveTimer.isActive() )
1707 qDebug("ti active "); 1739 qDebug("ti active ");
1708 else 1740 else
1709 qDebug("KO: Save timer stopped"); 1741 qDebug("KO: Save timer stopped");
1710} 1742}
1711void MainWindow::save() 1743void MainWindow::save()
1712{ 1744{
1713 if ( !mCalendarModifiedFlag ) { 1745 if ( !mCalendarModifiedFlag ) {
1714 qDebug("KO: Calendar not modified. Nothing saved."); 1746 qDebug("KO: Calendar not modified. Nothing saved.");
1715 return; 1747 return;
1716 } 1748 }
1717 if ( mSyncManager->blockSave() ) 1749 if ( mSyncManager->blockSave() )
1718 return; 1750 return;
1719 mSyncManager->setBlockSave(true); 1751 mSyncManager->setBlockSave(true);
1720 if ( mView->checkFileVersion( defaultFileName()) ) { 1752 if ( mView->checkFileVersion( defaultFileName()) ) {
1721 QTime neededSaveTime = QDateTime::currentDateTime().time(); 1753 QTime neededSaveTime = QDateTime::currentDateTime().time();
1722 setCaption(i18n("KO/Pi:Saving Data to File ..." )); 1754 setCaption(i18n("KO/Pi:Saving Data to File ..." ));
1723 qDebug("KO: Start saving data to file!"); 1755 qDebug("KO: Start saving data to file!");
1724 mView->saveCalendar( defaultFileName() ); 1756 mView->saveCalendar( defaultFileName() );
1725 mCalendarModifiedFlag = false; 1757 mCalendarModifiedFlag = false;
1726 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); 1758 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() );
1727 qDebug("KO: Needed %d ms for saving.",msNeeded ); 1759 qDebug("KO: Needed %d ms for saving.",msNeeded );
1728 QString savemes; 1760 QString savemes;
1729 savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 ); 1761 savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 );
1730 setCaption(savemes); 1762 setCaption(savemes);
1731 } else 1763 } else
1732 setCaption(i18n("Saving cancelled!")); 1764 setCaption(i18n("Saving cancelled!"));
1733 mSyncManager->setBlockSave( false ); 1765 mSyncManager->setBlockSave( false );
1734} 1766}
1735 1767
1736void MainWindow::keyReleaseEvent ( QKeyEvent * e) 1768void MainWindow::keyReleaseEvent ( QKeyEvent * e)
1737{ 1769{
1738 if ( !e->isAutoRepeat() ) { 1770 if ( !e->isAutoRepeat() ) {
1739 mFlagKeyPressed = false; 1771 mFlagKeyPressed = false;
1740 } 1772 }
1741} 1773}
1742void MainWindow::keyPressEvent ( QKeyEvent * e ) 1774void MainWindow::keyPressEvent ( QKeyEvent * e )
1743{ 1775{
1744 qApp->processEvents(); 1776 qApp->processEvents();
1745 if ( e->isAutoRepeat() && !mFlagKeyPressed ) { 1777 if ( e->isAutoRepeat() && !mFlagKeyPressed ) {
1746 e->ignore(); 1778 e->ignore();
1747 // qDebug(" ignore %d",e->isAutoRepeat() ); 1779 // qDebug(" ignore %d",e->isAutoRepeat() );
1748 return; 1780 return;
1749 } 1781 }
1750 if (! e->isAutoRepeat() ) 1782 if (! e->isAutoRepeat() )
1751 mFlagKeyPressed = true; 1783 mFlagKeyPressed = true;
1752 KOPrefs *p = KOPrefs::instance(); 1784 KOPrefs *p = KOPrefs::instance();
1753 bool showSelectedDates = false; 1785 bool showSelectedDates = false;
1754 int size; 1786 int size;
1755 int pro = 0; 1787 int pro = 0;
1756 //qDebug("MainWindow::keyPressEvent "); 1788 //qDebug("MainWindow::keyPressEvent ");
1757 switch ( e->key() ) { 1789 switch ( e->key() ) {
1758 case Qt::Key_Right: 1790 case Qt::Key_Right:
1759 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton) 1791 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton)
1760 mView->goNextMonth(); 1792 mView->goNextMonth();
1761 else 1793 else
1762 mView->goNext(); 1794 mView->goNext();
1763 showSelectedDates = true; 1795 showSelectedDates = true;
1764 break; 1796 break;
1765 case Qt::Key_Left: 1797 case Qt::Key_Left:
1766 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1798 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1767 mView->goPreviousMonth(); 1799 mView->goPreviousMonth();
1768 else 1800 else
1769 mView->goPrevious(); 1801 mView->goPrevious();
1770 showSelectedDates = true; 1802 showSelectedDates = true;
1771 break; 1803 break;
1772 case Qt::Key_Down: 1804 case Qt::Key_Down:
1773 mView->viewManager()->agendaView()->scrollOneHourDown(); 1805 mView->viewManager()->agendaView()->scrollOneHourDown();
1774 break; 1806 break;
1775 case Qt::Key_Up: 1807 case Qt::Key_Up:
1776 mView->viewManager()->agendaView()->scrollOneHourUp(); 1808 mView->viewManager()->agendaView()->scrollOneHourUp();
1777 break; 1809 break;
1778 case Qt::Key_K: 1810 case Qt::Key_K:
1779 mView->viewManager()->showMonthViewWeek(); 1811 mView->viewManager()->showMonthViewWeek();
1780 break; 1812 break;
1781 case Qt::Key_I: 1813 case Qt::Key_I:
1782 mView->showIncidence(); 1814 mView->showIncidence();
1783 break; 1815 break;
1784 case Qt::Key_Delete: 1816 case Qt::Key_Delete:
1785 case Qt::Key_Backspace: 1817 case Qt::Key_Backspace:
1786 mView->deleteIncidence(); 1818 mView->deleteIncidence();
1787 break; 1819 break;
1788 case Qt::Key_D: 1820 case Qt::Key_D:
1789 mView->viewManager()->showDayView(); 1821 mView->viewManager()->showDayView();
1790 showSelectedDates = true; 1822 showSelectedDates = true;
1791 break; 1823 break;
1792 case Qt::Key_O: 1824 case Qt::Key_O:
1793 mView->toggleFilerEnabled( ); 1825 mView->toggleFilerEnabled( );
1794 break; 1826 break;
1795 case Qt::Key_0: 1827 case Qt::Key_0:
1796 case Qt::Key_1: 1828 case Qt::Key_1:
1797 case Qt::Key_2: 1829 case Qt::Key_2:
1798 case Qt::Key_3: 1830 case Qt::Key_3:
1799 case Qt::Key_4: 1831 case Qt::Key_4:
1800 case Qt::Key_5: 1832 case Qt::Key_5:
1801 case Qt::Key_6: 1833 case Qt::Key_6:
1802 case Qt::Key_7: 1834 case Qt::Key_7:
1803 case Qt::Key_8: 1835 case Qt::Key_8:
1804 case Qt::Key_9: 1836 case Qt::Key_9:
1805 pro = e->key()-48; 1837 pro = e->key()-48;
1806 if ( pro == 0 ) 1838 if ( pro == 0 )
1807 pro = 10; 1839 pro = 10;
1808 if ( e->state() == Qt::ControlButton) 1840 if ( e->state() == Qt::ControlButton)
1809 pro += 10; 1841 pro += 10;
1810 break; 1842 break;
1811 case Qt::Key_M: 1843 case Qt::Key_M:
1812 mView->viewManager()->showMonthView(); 1844 mView->viewManager()->showMonthView();
1813 showSelectedDates = true; 1845 showSelectedDates = true;
1814 break; 1846 break;
1815 case Qt::Key_Insert: 1847 case Qt::Key_Insert:
1816 mView->newEvent(); 1848 mView->newEvent();
1817 break; 1849 break;
1818 case Qt::Key_S : 1850 case Qt::Key_S :
1819 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton) 1851 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton)
1820 mView->newSubTodo(); 1852 mView->newSubTodo();
1821 else 1853 else
1822 mView->dialogManager()->showSearchDialog(); 1854 mView->dialogManager()->showSearchDialog();
1823 break; 1855 break;
1824 case Qt::Key_Y : 1856 case Qt::Key_Y :
1825 case Qt::Key_Z : 1857 case Qt::Key_Z :
1826 mView->viewManager()->showWorkWeekView(); 1858 mView->viewManager()->showWorkWeekView();
1827 showSelectedDates = true; 1859 showSelectedDates = true;
1828 break; 1860 break;
1829 case Qt::Key_U : 1861 case Qt::Key_U :
1830 mView->viewManager()->showWeekView(); 1862 mView->viewManager()->showWeekView();
1831 showSelectedDates = true; 1863 showSelectedDates = true;
1832 break; 1864 break;
1833 case Qt::Key_H : 1865 case Qt::Key_H :
1834 keyBindings(); 1866 keyBindings();
1835 break; 1867 break;
1836 case Qt::Key_W: 1868 case Qt::Key_W:
1837 mView->viewManager()->showWhatsNextView(); 1869 mView->viewManager()->showWhatsNextView();
1838 break; 1870 break;
1839 case Qt::Key_L: 1871 case Qt::Key_L:
1840 mView->viewManager()->showListView(); 1872 mView->viewManager()->showListView();
1841 break; 1873 break;
1842 case Qt::Key_N: 1874 case Qt::Key_N:
1843 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton) 1875 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton)
1844 mView->viewManager()->showNextView(); 1876 mView->viewManager()->showNextView();
1845 else { 1877 else {
1846 mView->viewManager()->showNextXView(); 1878 mView->viewManager()->showNextXView();
1847 showSelectedDates = true; 1879 showSelectedDates = true;
1848 } 1880 }
1849 break; 1881 break;
1850 case Qt::Key_V: 1882 case Qt::Key_V:
1851 mView->viewManager()->showTodoView(); 1883 mView->viewManager()->showTodoView();
1852 break; 1884 break;
1853 case Qt::Key_C: 1885 case Qt::Key_C:
1854 mView->viewManager()->agendaView()->setStartHour( QTime::currentTime ().hour() ); 1886 mView->viewManager()->agendaView()->setStartHour( QTime::currentTime ().hour() );
1855 break; 1887 break;
1856 case Qt::Key_P: 1888 case Qt::Key_P:
1857 mView->showDatePicker( ); 1889 mView->showDatePicker( );
1858 break; 1890 break;
1859 case Qt::Key_F: 1891 case Qt::Key_F:
1860 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1892 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1861 mView->editFilters(); 1893 mView->editFilters();
1862 else 1894 else
1863 mView->toggleFilter(); 1895 mView->toggleFilter();
1864 break; 1896 break;
1865 case Qt::Key_X: 1897 case Qt::Key_X:
1866 mView->toggleDateNavigatorWidget(); 1898 mView->toggleDateNavigatorWidget();
1867 break; 1899 break;
1868 case Qt::Key_Space: 1900 case Qt::Key_Space:
1869 mView->toggleExpand(); 1901 mView->toggleExpand();
1870 break; 1902 break;
1871 case Qt::Key_A: 1903 case Qt::Key_A:
1872 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton ) 1904 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton )
1873 mView->showNextAlarms(); 1905 mView->showNextAlarms();
1874 else 1906 else
1875 mView->toggleAllDaySize(); 1907 mView->toggleAllDaySize();
1876 break; 1908 break;
1877 case Qt::Key_T: 1909 case Qt::Key_T:
1878 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1910 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1879 mView->newTodo(); 1911 mView->newTodo();
1880 else { 1912 else {
1881 mView->goToday(); 1913 mView->goToday();
1882 showSelectedDates = true; 1914 showSelectedDates = true;
1883 } 1915 }
1884 break; 1916 break;
1885 case Qt::Key_J: 1917 case Qt::Key_J:
1886 mView->viewManager()->showJournalView(); 1918 mView->viewManager()->showJournalView();
1887 break; 1919 break;
1888 case Qt::Key_B: 1920 case Qt::Key_B:
1889 mView->editIncidenceDescription();; 1921 mView->editIncidenceDescription();;
1890 break; 1922 break;
1891 // case Qt::Key_Return: 1923 // case Qt::Key_Return:
1892 case Qt::Key_E: 1924 case Qt::Key_E:
1893 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1925 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1894 mView->newEvent(); 1926 mView->newEvent();
1895 else 1927 else
1896 mView->editIncidence(); 1928 mView->editIncidence();
1897 break; 1929 break;
1898 case Qt::Key_Plus: 1930 case Qt::Key_Plus:
1899 size = p->mHourSize +2; 1931 size = p->mHourSize +2;
1900 if ( size <= 22 ) 1932 if ( size <= 22 )
1901 configureAgenda( size ); 1933 configureAgenda( size );
1902 break; 1934 break;
1903 case Qt::Key_Minus: 1935 case Qt::Key_Minus:
1904 size = p->mHourSize - 2; 1936 size = p->mHourSize - 2;
1905 if ( size >= 4 ) 1937 if ( size >= 4 )
1906 configureAgenda( size ); 1938 configureAgenda( size );
1907 break; 1939 break;
1908 1940
1909 1941
1910 default: 1942 default:
1911 e->ignore(); 1943 e->ignore();
1912 } 1944 }
1913 if ( pro > 0 ) { 1945 if ( pro > 0 ) {
1914 mView->selectFilter( pro-1 ); 1946 mView->selectFilter( pro-1 );
1915 } 1947 }
1916 if ( showSelectedDates ) { 1948 if ( showSelectedDates ) {
1917 ;// setCaptionToDates(); 1949 ;// setCaptionToDates();
1918 } 1950 }
1919 1951
1920} 1952}
1921 1953
1922void MainWindow::fillFilterMenu() 1954void MainWindow::fillFilterMenu()
1923{ 1955{
1924 selectFilterMenu->clear(); 1956 selectFilterMenu->clear();
1925 selectFilterMenu->insertItem(i18n ( "Edit Filters" ), 0 ); 1957 selectFilterMenu->insertItem(i18n ( "Edit Filters" ), 0 );
1926 selectFilterMenu->insertSeparator(); 1958 selectFilterMenu->insertSeparator();
1927 selectFilterMenu->insertItem(i18n ( "No Filter" ), 1 ); 1959 selectFilterMenu->insertItem(i18n ( "No Filter" ), 1 );
1928 1960
1929 selectFilterMenu->insertSeparator(); 1961 selectFilterMenu->insertSeparator();
1930 QPtrList<CalFilter> fili = mView->filters(); 1962 QPtrList<CalFilter> fili = mView->filters();
1931 CalFilter *curfilter = mView->filterView()->selectedFilter(); 1963 CalFilter *curfilter = mView->filterView()->selectedFilter();
1932 CalFilter *filter = fili.first(); 1964 CalFilter *filter = fili.first();
1933 int iii = 2; 1965 int iii = 2;
1934 bool checkitem = mView->filterView()->filtersEnabled(); 1966 bool checkitem = mView->filterView()->filtersEnabled();
1935 while(filter) { 1967 while(filter) {
1936 selectFilterMenu->insertItem( filter->name(), iii ); 1968 selectFilterMenu->insertItem( filter->name(), iii );
1937 if ( filter == curfilter) 1969 if ( filter == curfilter)
1938 selectFilterMenu->setItemChecked( iii, checkitem ); 1970 selectFilterMenu->setItemChecked( iii, checkitem );
1939 filter = fili.next(); 1971 filter = fili.next();
1940 ++iii; 1972 ++iii;
1941 } 1973 }
1942 if ( !checkitem ) 1974 if ( !checkitem )
1943 selectFilterMenu->setItemChecked( 1, true ); 1975 selectFilterMenu->setItemChecked( 1, true );
1944} 1976}
1945void MainWindow::fillFilterMenuPopup() 1977void MainWindow::fillFilterMenuPopup()
1946{ 1978{
1947 filterPopupMenu->clear(); 1979 filterPopupMenu->clear();
1948 filterPopupMenu->insertItem(i18n ( "No Filter" ), 0 ); 1980 filterPopupMenu->insertItem(i18n ( "No Filter" ), 0 );
1949 1981
1950 filterPopupMenu->insertSeparator(); 1982 filterPopupMenu->insertSeparator();
1951 QPtrList<CalFilter> fili = mView->filters(); 1983 QPtrList<CalFilter> fili = mView->filters();
1952 CalFilter *curfilter = mView->filterView()->selectedFilter(); 1984 CalFilter *curfilter = mView->filterView()->selectedFilter();
1953 CalFilter *filter = fili.first(); 1985 CalFilter *filter = fili.first();
1954 int iii = 1; 1986 int iii = 1;
1955 bool checkitem = mView->filterView()->filtersEnabled(); 1987 bool checkitem = mView->filterView()->filtersEnabled();
1956 while(filter) { 1988 while(filter) {
1957 filterPopupMenu->insertItem( filter->name(), iii ); 1989 filterPopupMenu->insertItem( filter->name(), iii );
1958 if ( filter == curfilter) 1990 if ( filter == curfilter)
1959 filterPopupMenu->setItemChecked( iii, checkitem ); 1991 filterPopupMenu->setItemChecked( iii, checkitem );
1960 filter = fili.next(); 1992 filter = fili.next();
1961 ++iii; 1993 ++iii;
1962 } 1994 }
1963 if ( !checkitem ) 1995 if ( !checkitem )
1964 filterPopupMenu->setItemChecked( 0, true ); 1996 filterPopupMenu->setItemChecked( 0, true );
1965} 1997}
1966void MainWindow::selectFilter( int fil ) 1998void MainWindow::selectFilter( int fil )
1967{ 1999{
1968 2000
1969 if ( fil == 0 ) { 2001 if ( fil == 0 ) {
1970 mView->editFilters( ); 2002 mView->editFilters( );
1971 } else if ( fil == 1 ){ 2003 } else if ( fil == 1 ){
1972 if ( mView->filterView()->filtersEnabled() ) 2004 if ( mView->filterView()->filtersEnabled() )
1973 mView->toggleFilerEnabled( ); 2005 mView->toggleFilerEnabled( );
1974 } else { 2006 } else {
1975 if ( !mView->filterView()->filtersEnabled() ) { 2007 if ( !mView->filterView()->filtersEnabled() ) {
1976 mView->filterView()->blockSignals( true ); 2008 mView->filterView()->blockSignals( true );
1977 mView->toggleFilerEnabled( ); 2009 mView->toggleFilerEnabled( );
1978 mView->filterView()->blockSignals( false ); 2010 mView->filterView()->blockSignals( false );
1979 } 2011 }
1980 mView->selectFilter( fil-2 ); 2012 mView->selectFilter( fil-2 );
1981 } 2013 }
1982} 2014}
1983void MainWindow::updateFilterToolbar() 2015void MainWindow::updateFilterToolbar()
1984{ 2016{
1985 if ( filterMenubar ) { 2017 if ( filterMenubar ) {
1986 if ( !mView->filterView()->filtersEnabled() ) { 2018 if ( !mView->filterView()->filtersEnabled() ) {
1987 filterMenubar->changeItem( 0, i18n("No Filter") ); 2019 filterMenubar->changeItem( 0, i18n("No Filter") );
1988 } else { 2020 } else {
1989 CalFilter *curfilter = mView->filterView()->selectedFilter(); 2021 CalFilter *curfilter = mView->filterView()->selectedFilter();
1990 if ( curfilter ) { 2022 if ( curfilter ) {
1991 filterMenubar->changeItem( 0, curfilter->name() ); 2023 filterMenubar->changeItem( 0, curfilter->name() );
1992 } 2024 }
1993 } 2025 }
1994 } 2026 }
1995} 2027}
1996void MainWindow::selectFilterPopup( int fil ) 2028void MainWindow::selectFilterPopup( int fil )
1997{ 2029{
1998 selectFilter( fil + 1 ); 2030 selectFilter( fil + 1 );
1999 2031
2000} 2032}
2001void MainWindow::configureToolBar( int item ) 2033void MainWindow::configureToolBar( int item )
2002{ 2034{
2003 2035
2004 configureToolBarMenu->setItemChecked( item, !configureToolBarMenu-> isItemChecked ( item ) ); 2036 configureToolBarMenu->setItemChecked( item, !configureToolBarMenu-> isItemChecked ( item ) );
2005 KOPrefs *p = KOPrefs::instance(); 2037 KOPrefs *p = KOPrefs::instance();
2006 p-> mShowIconStretch= configureToolBarMenu->isItemChecked( 5 ); 2038 p-> mShowIconStretch= configureToolBarMenu->isItemChecked( 5 );
2007 p-> mShowIconOnetoolbar = configureToolBarMenu->isItemChecked( 6 ); 2039 p-> mShowIconOnetoolbar = configureToolBarMenu->isItemChecked( 6 );
2008 p-> mShowIconFilter = configureToolBarMenu->isItemChecked( 7 ); 2040 p-> mShowIconFilter = configureToolBarMenu->isItemChecked( 7 );
2009 p-> mShowIconNewEvent= configureToolBarMenu->isItemChecked( 10 ); 2041 p-> mShowIconNewEvent= configureToolBarMenu->isItemChecked( 10 );
2010 p->mShowIconNewTodo = configureToolBarMenu->isItemChecked( 20 ); 2042 p->mShowIconNewTodo = configureToolBarMenu->isItemChecked( 20 );
2011 p-> mShowIconSearch= configureToolBarMenu->isItemChecked( 120 ); 2043 p-> mShowIconSearch= configureToolBarMenu->isItemChecked( 120 );
2012 p-> mShowIconList= configureToolBarMenu->isItemChecked( 30 ); 2044 p-> mShowIconList= configureToolBarMenu->isItemChecked( 30 );
2013 p-> mShowIconDay1= configureToolBarMenu->isItemChecked( 40 ); 2045 p-> mShowIconDay1= configureToolBarMenu->isItemChecked( 40 );
2014 p-> mShowIconDay5= configureToolBarMenu->isItemChecked( 50 ); 2046 p-> mShowIconDay5= configureToolBarMenu->isItemChecked( 50 );
2015 p-> mShowIconDay6= configureToolBarMenu->isItemChecked( 75 ); 2047 p-> mShowIconDay6= configureToolBarMenu->isItemChecked( 75 );
2016 p-> mShowIconDay7= configureToolBarMenu->isItemChecked( 60 ); 2048 p-> mShowIconDay7= configureToolBarMenu->isItemChecked( 60 );
2017 p-> mShowIconMonth= configureToolBarMenu->isItemChecked( 70 ); 2049 p-> mShowIconMonth= configureToolBarMenu->isItemChecked( 70 );
2018 p-> mShowIconTodoview= configureToolBarMenu->isItemChecked( 80 ); 2050 p-> mShowIconTodoview= configureToolBarMenu->isItemChecked( 80 );
2019 p-> mShowIconBackFast= configureToolBarMenu->isItemChecked( 200 ); 2051 p-> mShowIconBackFast= configureToolBarMenu->isItemChecked( 200 );
2020 p-> mShowIconBack = configureToolBarMenu->isItemChecked( 210 ); 2052 p-> mShowIconBack = configureToolBarMenu->isItemChecked( 210 );
2021 p-> mShowIconToday= configureToolBarMenu->isItemChecked( 130 ); 2053 p-> mShowIconToday= configureToolBarMenu->isItemChecked( 130 );
2022 p-> mShowIconForward= configureToolBarMenu->isItemChecked( 220 ); 2054 p-> mShowIconForward= configureToolBarMenu->isItemChecked( 220 );
2023 p-> mShowIconForwardFast= configureToolBarMenu->isItemChecked( 230 ); 2055 p-> mShowIconForwardFast= configureToolBarMenu->isItemChecked( 230 );
2024 p-> mShowIconNextDays= configureToolBarMenu->isItemChecked( 100 ); 2056 p-> mShowIconNextDays= configureToolBarMenu->isItemChecked( 100 );
2025 p-> mShowIconNext= configureToolBarMenu->isItemChecked( 110 ); 2057 p-> mShowIconNext= configureToolBarMenu->isItemChecked( 110 );
2026 p-> mShowIconJournal= configureToolBarMenu->isItemChecked( 90 ); 2058 p-> mShowIconJournal= configureToolBarMenu->isItemChecked( 90 );
2027 p-> mShowIconWhatsThis= configureToolBarMenu->isItemChecked( 300 ); 2059 p-> mShowIconWhatsThis= configureToolBarMenu->isItemChecked( 300 );
2028 p-> mShowIconWeekNum= configureToolBarMenu->isItemChecked( 400 ); 2060 p-> mShowIconWeekNum= configureToolBarMenu->isItemChecked( 400 );
2029 // initActions(); 2061 // initActions();
2030} 2062}
2031void MainWindow::setCaption ( const QString & c ) 2063void MainWindow::setCaption ( const QString & c )
2032{ 2064{
2033 QString cap = c; 2065 QString cap = c;
2034 cap.replace( QRegExp("\n"), " " ); 2066 cap.replace( QRegExp("\n"), " " );
2035 cap = cap.stripWhiteSpace(); 2067 cap = cap.stripWhiteSpace();
2036 if ( cap.isEmpty() ) 2068 if ( cap.isEmpty() )
2037 cap = "KO/Pi"; 2069 cap = "KO/Pi";
2038 QWidget::setCaption( cap ); 2070 QWidget::setCaption( cap );
2039} 2071}
2040void MainWindow::setCaptionToDates() 2072void MainWindow::setCaptionToDates()
2041{ 2073{
2042 QString selDates; 2074 QString selDates;
2043 QDate date = mView->startDate(); 2075 QDate date = mView->startDate();
2044 if ( ! date.isValid() ) { 2076 if ( ! date.isValid() ) {
2045 setCaption(""); 2077 setCaption("");
2046 return; 2078 return;
2047 } 2079 }
2048 selDates = KGlobal::locale()->formatDate( date, true); 2080 selDates = KGlobal::locale()->formatDate( date, true);
2049 if (mView->startDate() < mView->endDate() ) 2081 if (mView->startDate() < mView->endDate() )
2050 selDates += " - " + KGlobal::locale()->formatDate(mView->endDate(), true); 2082 selDates += " - " + KGlobal::locale()->formatDate(mView->endDate(), true);
2051 else { 2083 else {
2052 QString addString; 2084 QString addString;
2053 if ( date == QDateTime::currentDateTime().date() ) 2085 if ( date == QDateTime::currentDateTime().date() )
2054 addString = i18n("Today"); 2086 addString = i18n("Today");
2055 else if ( date == QDateTime::currentDateTime().date().addDays(1) ) 2087 else if ( date == QDateTime::currentDateTime().date().addDays(1) )
2056 addString = i18n("Tomorrow"); 2088 addString = i18n("Tomorrow");
2057 if ( !addString.isEmpty() ) 2089 if ( !addString.isEmpty() )
2058 selDates = addString+", "+selDates ; 2090 selDates = addString+", "+selDates ;
2059 } 2091 }
2060 setCaption( i18n("Dates: ") + selDates ); 2092 setCaption( i18n("Dates: ") + selDates );
2061 2093
2062} 2094}
2063void MainWindow::showConfigureAgenda( ) 2095void MainWindow::showConfigureAgenda( )
2064{ 2096{
2065 int iii; 2097 int iii;
2066 for ( iii = 1;iii<= 10 ;++iii ){ 2098 for ( iii = 1;iii<= 10 ;++iii ){
2067 configureAgendaMenu->setItemChecked( (iii+1)*2, false ); 2099 configureAgendaMenu->setItemChecked( (iii+1)*2, false );
2068 } 2100 }
2069 configureAgendaMenu->setItemChecked( (KOPrefs::instance()->mHourSize/2)*2, true ); 2101 configureAgendaMenu->setItemChecked( (KOPrefs::instance()->mHourSize/2)*2, true );
2070} 2102}
2071void MainWindow::configureAgenda( int item ) 2103void MainWindow::configureAgenda( int item )
2072{ 2104{
2073 if ( KOPrefs::instance()->mHourSize == item ) 2105 if ( KOPrefs::instance()->mHourSize == item )
2074 return; 2106 return;
2075 KOPrefs::instance()->mHourSize=item; 2107 KOPrefs::instance()->mHourSize=item;
2076 mView->viewManager()->agendaView()->updateConfig(); 2108 mView->viewManager()->agendaView()->updateConfig();
2077} 2109}
2078 2110
2079void MainWindow::saveCalendar() 2111void MainWindow::saveCalendar()
2080{ 2112{
2081 QString fn = KOPrefs::instance()->mLastSaveFile; 2113 QString fn = KOPrefs::instance()->mLastSaveFile;
2082 fn = KFileDialog::getSaveFileName( fn, i18n("Save backup filename"), this ); 2114 fn = KFileDialog::getSaveFileName( fn, i18n("Save backup filename"), this );
2083 2115
2084 if ( fn == "" ) 2116 if ( fn == "" )
2085 return; 2117 return;
2086 QFileInfo info; 2118 QFileInfo info;
2087 info.setFile( fn ); 2119 info.setFile( fn );
2088 QString mes; 2120 QString mes;
2089 bool createbup = true; 2121 bool createbup = true;
2090 if ( info. exists() ) { 2122 if ( info. exists() ) {
2091 mes = i18n("Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )) ; 2123 mes = i18n("Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )) ;
2092 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes, 2124 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes,
2093 i18n("Overwrite!"), i18n("Cancel"), 0, 2125 i18n("Overwrite!"), i18n("Cancel"), 0,
2094 0, 1 ); 2126 0, 1 );
2095 if ( result != 0 ) { 2127 if ( result != 0 ) {
2096 createbup = false; 2128 createbup = false;
2097 } 2129 }
2098 } 2130 }
2099 if ( createbup ) { 2131 if ( createbup ) {
2100 mView->saveCalendar( fn ); 2132 mView->saveCalendar( fn );
2101 mes = i18n("KO/Pi:Saved %1").arg(fn); 2133 mes = i18n("KO/Pi:Saved %1").arg(fn);
2102 KOPrefs::instance()->mLastSaveFile = fn; 2134 KOPrefs::instance()->mLastSaveFile = fn;
2103 setCaption(mes); 2135 setCaption(mes);
2104 } 2136 }
2105} 2137}
2106void MainWindow::loadCalendar() 2138void MainWindow::loadCalendar()
2107{ 2139{
2108 2140
2109 QString fn = KOPrefs::instance()->mLastLoadFile; 2141 QString fn = KOPrefs::instance()->mLastLoadFile;
2110 fn = KFileDialog::getOpenFileName( fn, i18n("Load backup filename"), this ); 2142 fn = KFileDialog::getOpenFileName( fn, i18n("Load backup filename"), this );
2111 2143
2112 if ( fn == "" ) 2144 if ( fn == "" )
2113 return; 2145 return;
2114 QFileInfo info; 2146 QFileInfo info;
2115 info.setFile( fn ); 2147 info.setFile( fn );
2116 QString mess; 2148 QString mess;
2117 bool loadbup = true; 2149 bool loadbup = true;
2118 if ( info. exists() ) { 2150 if ( info. exists() ) {
2119 mess = i18n("Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )); 2151 mess = i18n("Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false ));
2120 int result = QMessageBox::warning( this, "KO/Pi: Warning!", 2152 int result = QMessageBox::warning( this, "KO/Pi: Warning!",
2121 mess, 2153 mess,
2122 i18n("Load!"), i18n("Cancel"), 0, 2154 i18n("Load!"), i18n("Cancel"), 0,
2123 0, 1 ); 2155 0, 1 );
2124 if ( result != 0 ) { 2156 if ( result != 0 ) {
2125 loadbup = false; 2157 loadbup = false;
2126 } 2158 }
2127 } else { 2159 } else {
2128 QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 2160 QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
2129 i18n("Backup file\ndoes not exist!\nNothing loaded!"), 0, 0, 2161 i18n("Backup file\ndoes not exist!\nNothing loaded!"), 0, 0,
2130 0, 1 ); 2162 0, 1 );
2131 2163
2132 return; 2164 return;
2133 } 2165 }
2134 if ( loadbup ) { 2166 if ( loadbup ) {
2135 mView->openCalendar( fn ); 2167 mView->openCalendar( fn );
2136 KOPrefs::instance()->mLastLoadFile = fn; 2168 KOPrefs::instance()->mLastLoadFile = fn;
2137 mess = i18n("KO/Pi:Loaded %1").arg(fn) ; 2169 mess = i18n("KO/Pi:Loaded %1").arg(fn) ;
2138 setCaption(mess); 2170 setCaption(mess);
2139 } 2171 }
2140 2172
2141} 2173}
2142void MainWindow::quickImportIcal() 2174void MainWindow::quickImportIcal()
2143{ 2175{
2144 importFile( KOPrefs::instance()->mLastImportFile, false ); 2176 importFile( KOPrefs::instance()->mLastImportFile, false );
2145} 2177}
2146void MainWindow::importFile( QString fn, bool quick ) 2178void MainWindow::importFile( QString fn, bool quick )
2147{ 2179{
2148 QFileInfo info; 2180 QFileInfo info;
2149 info.setFile( fn ); 2181 info.setFile( fn );
2150 QString mess; 2182 QString mess;
2151 bool loadbup = true; 2183 bool loadbup = true;
2152 if ( !info. exists() ) { 2184 if ( !info. exists() ) {
2153 mess = i18n("Import file \n...%1\ndoes not exist!\nNothing imported!\n").arg(fn.right( 30)); 2185 mess = i18n("Import file \n...%1\ndoes not exist!\nNothing imported!\n").arg(fn.right( 30));
2154 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 2186 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
2155 mess ); 2187 mess );
2156 return; 2188 return;
2157 } 2189 }
2158 int result = 0; 2190 int result = 0;
2159 if ( !quick ) { 2191 if ( !quick ) {
2160 mess = i18n( "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n").arg(fn.right( 25)).arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )); 2192 mess = i18n( "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n").arg(fn.right( 25)).arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false ));
2161 result = QMessageBox::warning( this, "KO/Pi: Warning!", 2193 result = QMessageBox::warning( this, "KO/Pi: Warning!",
2162 mess, 2194 mess,
2163 "Import", "Cancel", 0, 2195 "Import", "Cancel", 0,
2164 0, 1 ); 2196 0, 1 );
2165 } 2197 }
2166 if ( result == 0 ) { 2198 if ( result == 0 ) {
2167 if ( mView->openCalendar( fn, true )) { 2199 if ( mView->openCalendar( fn, true )) {
2168 KOPrefs::instance()->mLastImportFile = fn; 2200 KOPrefs::instance()->mLastImportFile = fn;
2169 setCaption(i18n("Imported file successfully")); 2201 setCaption(i18n("Imported file successfully"));
2170 } else { 2202 } else {
2171 setCaption(i18n("Error importing file")); 2203 setCaption(i18n("Error importing file"));
2172 } 2204 }
2173 } 2205 }
2174} 2206}
2175 2207
2176void MainWindow::importIcal() 2208void MainWindow::importIcal()
2177{ 2209{
2178 2210
2179 QString fn =KOPrefs::instance()->mLastImportFile; 2211 QString fn =KOPrefs::instance()->mLastImportFile;
2180 2212
2181 fn =KFileDialog:: getOpenFileName( fn, i18n("Import filename(*.ics/*.vcs)"), this ); 2213 fn =KFileDialog:: getOpenFileName( fn, i18n("Import filename(*.ics/*.vcs)"), this );
2182 if ( fn == "" ) 2214 if ( fn == "" )
2183 return; 2215 return;
2184 importFile( fn, true ); 2216 importFile( fn, true );
2185 2217
2186} 2218}
2187 2219
2188void MainWindow::exportVCalendar() 2220void MainWindow::exportVCalendar()
2189{ 2221{
2190 QString fn = KOPrefs::instance()->mLastVcalFile; 2222 QString fn = KOPrefs::instance()->mLastVcalFile;
2191 fn = KFileDialog::getSaveFileName( fn, i18n("Export vcal filename(*.vcs)"), this ); 2223 fn = KFileDialog::getSaveFileName( fn, i18n("Export vcal filename(*.vcs)"), this );
2192 if ( fn == "" ) 2224 if ( fn == "" )
2193 return; 2225 return;
2194 QFileInfo info; 2226 QFileInfo info;