author | zautrix <zautrix> | 2005-03-28 15:16:46 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-03-28 15:16:46 (UTC) |
commit | 435d67be852dc98b460bd3123a2164131db82334 (patch) (unidiff) | |
tree | 5d031d970da9214e111079061ccae271752c33c0 | |
parent | e4e6bda3a6b0a82e3f64db0fa5f7d60cab9f0e48 (diff) | |
download | kdepimpi-435d67be852dc98b460bd3123a2164131db82334.zip kdepimpi-435d67be852dc98b460bd3123a2164131db82334.tar.gz kdepimpi-435d67be852dc98b460bd3123a2164131db82334.tar.bz2 |
more fixes
-rw-r--r-- | korganizer/mainwindow.cpp | 38 |
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 | ||
1223 | void MainWindow::exportToPhone( int mode ) | 1223 | void 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 | ||
1300 | void MainWindow::setDefaultPreferences() | 1300 | void 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 | ||
1310 | QString MainWindow::resourcePath() | 1310 | QString MainWindow::resourcePath() |
1311 | { | 1311 | { |
1312 | return KGlobal::iconLoader()->iconPath(); | 1312 | return KGlobal::iconLoader()->iconPath(); |
1313 | } | 1313 | } |
1314 | 1314 | ||
1315 | void MainWindow::displayText( QString text ,QString cap ) | 1315 | void 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 | ||
1333 | void MainWindow::features() | 1333 | void 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 | ||
1339 | void MainWindow::usertrans() | 1339 | void 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 | ||
1345 | void MainWindow::kdesynchowto() | 1345 | void 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 | } |
1349 | void MainWindow::multisynchowto() | 1349 | void 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 | } |
1353 | void MainWindow::synchowto() | 1353 | void 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 | } |
1357 | void MainWindow::faq() | 1357 | void 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 | } |
1362 | void MainWindow::whatsNew() | 1362 | void 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 | } |
1367 | void MainWindow::licence() | 1367 | void MainWindow::licence() |
1368 | { | 1368 | { |
1369 | KApplication::showLicence(); | 1369 | KApplication::showLicence(); |
1370 | 1370 | ||
1371 | } | 1371 | } |
1372 | void MainWindow::about() | 1372 | void 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 | } |
1387 | void MainWindow::keyBindings() | 1387 | void 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 | } |
1444 | void MainWindow::aboutAutoSaving() | 1444 | void 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 | } |
1451 | void MainWindow::aboutKnownBugs() | 1451 | void 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 | ||
1469 | QString MainWindow::defaultFileName() | 1469 | QString MainWindow::defaultFileName() |
1470 | { | 1470 | { |
1471 | return locateLocal( "data", "korganizer/mycalendar.ics" ); | 1471 | return locateLocal( "data", "korganizer/mycalendar.ics" ); |
1472 | } | 1472 | } |
1473 | QString MainWindow::syncFileName() | 1473 | QString 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 | } |
1481 | void MainWindow::updateWeek(QDate seda) | 1481 | void 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 | } |
1517 | void MainWindow::updateWeekNum(const DateList &selectedDates) | 1517 | void MainWindow::updateWeekNum(const DateList &selectedDates) |
1518 | { | 1518 | { |
1519 | updateWeek( selectedDates.first() ); | 1519 | updateWeek( selectedDates.first() ); |
1520 | } | 1520 | } |
1521 | void MainWindow::processIncidenceSelection( Incidence *incidence ) | 1521 | void 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 | ||
1593 | void MainWindow::enableIncidenceActions( bool enabled ) | 1593 | void 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 | ||
1605 | void MainWindow::importOL() | 1605 | void 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 | } |
1614 | void MainWindow::importBday() | 1614 | void 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 | } |
1627 | void MainWindow::importQtopia() | 1627 | void 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 | ||
1658 | void MainWindow::saveOnClose() | 1658 | void 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 | } |
1687 | void MainWindow::slotModifiedChanged( bool changed ) | 1719 | void 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 | } |
1703 | void MainWindow::saveStopTimer() | 1735 | void 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 | } |
1711 | void MainWindow::save() | 1743 | void 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 | ||
1736 | void MainWindow::keyReleaseEvent ( QKeyEvent * e) | 1768 | void MainWindow::keyReleaseEvent ( QKeyEvent * e) |
1737 | { | 1769 | { |
1738 | if ( !e->isAutoRepeat() ) { | 1770 | if ( !e->isAutoRepeat() ) { |
1739 | mFlagKeyPressed = false; | 1771 | mFlagKeyPressed = false; |
1740 | } | 1772 | } |
1741 | } | 1773 | } |
1742 | void MainWindow::keyPressEvent ( QKeyEvent * e ) | 1774 | void 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 | ||
1922 | void MainWindow::fillFilterMenu() | 1954 | void 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 | } |
1945 | void MainWindow::fillFilterMenuPopup() | 1977 | void 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 | } |
1966 | void MainWindow::selectFilter( int fil ) | 1998 | void 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 | } |
1983 | void MainWindow::updateFilterToolbar() | 2015 | void 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 | } |
1996 | void MainWindow::selectFilterPopup( int fil ) | 2028 | void MainWindow::selectFilterPopup( int fil ) |
1997 | { | 2029 | { |
1998 | selectFilter( fil + 1 ); | 2030 | selectFilter( fil + 1 ); |
1999 | 2031 | ||
2000 | } | 2032 | } |
2001 | void MainWindow::configureToolBar( int item ) | 2033 | void 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 | } |
2031 | void MainWindow::setCaption ( const QString & c ) | 2063 | void 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 | } |
2040 | void MainWindow::setCaptionToDates() | 2072 | void 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 | } |
2063 | void MainWindow::showConfigureAgenda( ) | 2095 | void 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 | } |
2071 | void MainWindow::configureAgenda( int item ) | 2103 | void 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 | ||
2079 | void MainWindow::saveCalendar() | 2111 | void 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 | } |
2106 | void MainWindow::loadCalendar() | 2138 | void 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 | } |
2142 | void MainWindow::quickImportIcal() | 2174 | void MainWindow::quickImportIcal() |
2143 | { | 2175 | { |
2144 | importFile( KOPrefs::instance()->mLastImportFile, false ); | 2176 | importFile( KOPrefs::instance()->mLastImportFile, false ); |
2145 | } | 2177 | } |
2146 | void MainWindow::importFile( QString fn, bool quick ) | 2178 | void 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 | ||
2176 | void MainWindow::importIcal() | 2208 | void 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 | ||
2188 | void MainWindow::exportVCalendar() | 2220 | void 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; |