-rw-r--r-- | bin/kdepim/korganizer/germantranslation.txt | 16 | ||||
-rw-r--r-- | korganizer/kolistview.cpp | 147 | ||||
-rw-r--r-- | korganizer/kolistview.h | 7 | ||||
-rw-r--r-- | korganizer/koprefs.cpp | 2 | ||||
-rw-r--r-- | korganizer/koviewmanager.cpp | 2 |
5 files changed, 57 insertions, 117 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt index 708ac19..ed6a1c1 100644 --- a/bin/kdepim/korganizer/germantranslation.txt +++ b/bin/kdepim/korganizer/germantranslation.txt | |||
@@ -485,7 +485,7 @@ | |||
485 | { "Save selected to file...","Speichere Selektierte..." }, | 485 | { "Save selected to file...","Speichere Selektierte..." }, |
486 | { "Add Categ. to selected...","Füge zu Selekt. Kateg. hinzu..." }, | 486 | { "Add Categ. to selected...","Füge zu Selekt. Kateg. hinzu..." }, |
487 | { "Set Categ. for selected...","Setze Kateg. für Selekt." }, | 487 | { "Set Categ. for selected...","Setze Kateg. für Selekt." }, |
488 | { "Beam selected via IR","Sende Selekt. via IR..." }, | 488 | { "Beam via IR","Sende via IR" }, |
489 | { "Search","Suchen" }, | 489 | { "Search","Suchen" }, |
490 | { "Date Picker","Datum auswählen" }, | 490 | { "Date Picker","Datum auswählen" }, |
491 | { "Day View","Tagesansicht" }, | 491 | { "Day View","Tagesansicht" }, |
@@ -1196,7 +1196,7 @@ | |||
1196 | { "Default todo done color:","Standard Todo erledigt Farbe" }, | 1196 | { "Default todo done color:","Standard Todo erledigt Farbe" }, |
1197 | { "Select week %1-%2","Wähle Woche %1-%2" }, | 1197 | { "Select week %1-%2","Wähle Woche %1-%2" }, |
1198 | { "Select Week","Wähle Woche" }, | 1198 | { "Select Week","Wähle Woche" }, |
1199 | { "Set alarm for selected...","Setze Alarm für Selekt..." }, | 1199 | { "Set alarm...","Setze Alarm..." }, |
1200 | { "Set Alarm!","Setze Alarm!" }, | 1200 | { "Set Alarm!","Setze Alarm!" }, |
1201 | { "Changed alarm for %1 items","Alarm für %1 Items geändert" }, | 1201 | { "Changed alarm for %1 items","Alarm für %1 Items geändert" }, |
1202 | { " and "," und " }, | 1202 | { " and "," und " }, |
@@ -1286,7 +1286,7 @@ | |||
1286 | { "Import","Importiere" }, | 1286 | { "Import","Importiere" }, |
1287 | { "Export","Exportiere" }, | 1287 | { "Export","Exportiere" }, |
1288 | { "Beam","Beame" }, | 1288 | { "Beam","Beame" }, |
1289 | { "Export selected","Exportiere Selektierte" }, | 1289 | { "Export","Exportiere" }, |
1290 | { "As iCal (ics) file...","Als iCal (ics) Datei..." }, | 1290 | { "As iCal (ics) file...","Als iCal (ics) Datei..." }, |
1291 | { "As vCal (vcs) file...","Als vCal (vcs) Datei..." }, | 1291 | { "As vCal (vcs) file...","Als vCal (vcs) Datei..." }, |
1292 | { "Journal/Details...","Journale/Details..." }, | 1292 | { "Journal/Details...","Journale/Details..." }, |
@@ -1478,8 +1478,14 @@ | |||
1478 | { "Error loading calendar %1","Fehler beim Laden von Kalender %1" }, | 1478 | { "Error loading calendar %1","Fehler beim Laden von Kalender %1" }, |
1479 | { "Calendar(s) not loaded:","Nicht geladene(r) Kalender:" }, | 1479 | { "Calendar(s) not loaded:","Nicht geladene(r) Kalender:" }, |
1480 | { "Loding of calendar(s) failed","Laden von Kalendern fehlgeschlagen" }, | 1480 | { "Loding of calendar(s) failed","Laden von Kalendern fehlgeschlagen" }, |
1481 | { "","" }, | 1481 | { "Alarm Options","Alarm Einstellungen" }, |
1482 | { "","" }, | 1482 | { "Delete selected...","Lösche Ausgewählte..." }, |
1483 | { "None","Nichts" }, | ||
1484 | { "Selection","Auswahl" }, | ||
1485 | { "Set categories","Setze Kategorien" }, | ||
1486 | { "This adds the selected\nitems to the calendar\n%1\nand removes them from\ntheir current calendar!","Das fügt die ausgewählten\nEinträge dem Kalender\n%1\nhinzu und entfernt sie von\nihrem aktuellen Kalender!" }, | ||
1487 | { "Reset","Neu setzen" }, | ||
1488 | { "Do you want to <b>add</b> categories to the selected items or <b>reset</b> the list (i.e. remove current categories)?","Möchten Sie Kategorien zu den ausgewählten Einträgen <b>hinzufügen</b> oder die Liste <b>neu setzen</b> (d.h. vorhandene Kategorien löschen)?" }, | ||
1483 | { "","" }, | 1489 | { "","" }, |
1484 | { "","" }, | 1490 | { "","" }, |
1485 | { "","" }, | 1491 | { "","" }, |
diff --git a/korganizer/kolistview.cpp b/korganizer/kolistview.cpp index e5e3704..4c815d8 100644 --- a/korganizer/kolistview.cpp +++ b/korganizer/kolistview.cpp | |||
@@ -290,16 +290,16 @@ KOListView::KOListView(Calendar *calendar, QWidget *parent, | |||
290 | layoutTop->addWidget(mListView); | 290 | layoutTop->addWidget(mListView); |
291 | mListView->setFont ( KOPrefs::instance()->mListViewFont ); | 291 | mListView->setFont ( KOPrefs::instance()->mListViewFont ); |
292 | mPopupMenu = eventPopup(); | 292 | mPopupMenu = eventPopup(); |
293 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | 293 | QPopupMenu* selPopup = new QPopupMenu ( this ); |
294 | i18n("Select all"),this, | 294 | mPopupMenu->insertSeparator(); |
295 | SLOT(allSelection()),true); | ||
296 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | ||
297 | i18n("Deselect all"),this, | ||
298 | SLOT(clearSelection()),true); | ||
299 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | ||
300 | i18n("Delete all selected"),this, | ||
301 | SLOT(deleteAll()),true); | ||
302 | 295 | ||
296 | selPopup->insertItem(i18n("All"),this, | ||
297 | SLOT(allSelection())); | ||
298 | selPopup->insertItem(i18n("None"),this, | ||
299 | SLOT(clearSelection())); | ||
300 | selPopup->insertItem(i18n("Delete selected..."),this, | ||
301 | SLOT(deleteAll())); | ||
302 | mPopupMenu->insertItem(i18n("Selection"), selPopup ); | ||
303 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | 303 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), |
304 | i18n("Hide all selected"),this, | 304 | i18n("Hide all selected"),this, |
305 | SLOT(hideAll()),true); | 305 | SLOT(hideAll()),true); |
@@ -314,12 +314,18 @@ KOListView::KOListView(Calendar *calendar, QWidget *parent, | |||
314 | mCalPopup = new QPopupMenu ( this ); | 314 | mCalPopup = new QPopupMenu ( this ); |
315 | mPopupMenu->insertItem( i18n("Set Calendar"), mCalPopup ); | 315 | mPopupMenu->insertItem( i18n("Set Calendar"), mCalPopup ); |
316 | 316 | ||
317 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | ||
318 | i18n("Set categories")+"...",this, | ||
319 | SLOT(setCat()),true); | ||
320 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | ||
321 | i18n("Set alarm..."),this, | ||
322 | SLOT(setAlarm()),true); | ||
317 | QObject::connect(mCalPopup,SIGNAL(aboutToShow()),this, | 323 | QObject::connect(mCalPopup,SIGNAL(aboutToShow()),this, |
318 | SLOT( populateCalPopup() )); | 324 | SLOT( populateCalPopup() )); |
319 | QObject::connect(mCalPopup,SIGNAL(activated( int )),this, | 325 | QObject::connect(mCalPopup,SIGNAL(activated( int )),this, |
320 | SLOT( setCalendar( int ) )); | 326 | SLOT( setCalendar( int ) )); |
321 | QPopupMenu * exportPO = new QPopupMenu ( this ); | 327 | QPopupMenu * exportPO = new QPopupMenu ( this ); |
322 | mPopupMenu->insertItem( i18n("Export selected"), exportPO ); | 328 | mPopupMenu->insertItem( i18n("Export"), exportPO ); |
323 | exportPO->insertItem( i18n("As iCal (ics) file..."),this, | 329 | exportPO->insertItem( i18n("As iCal (ics) file..."),this, |
324 | SLOT(saveToFile())); | 330 | SLOT(saveToFile())); |
325 | exportPO->insertItem( i18n("As vCal (vcs) file..."),this, | 331 | exportPO->insertItem( i18n("As vCal (vcs) file..."),this, |
@@ -327,23 +333,14 @@ KOListView::KOListView(Calendar *calendar, QWidget *parent, | |||
327 | exportPO->insertItem( i18n("Journal/Details..."),this, | 333 | exportPO->insertItem( i18n("Journal/Details..."),this, |
328 | SLOT(saveDescriptionToFile())); | 334 | SLOT(saveDescriptionToFile())); |
329 | // mPopupMenu->insertSeparator(); | 335 | // mPopupMenu->insertSeparator(); |
330 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | 336 | // mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), |
331 | i18n("Add Categ. to selected..."),this, | 337 | // i18n("Add Categ. to selected..."),this, |
332 | SLOT(addCat()),true); | 338 | // SLOT(addCat()),true); |
333 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | ||
334 | i18n("Set Categ. for selected..."),this, | ||
335 | SLOT(setCat()),true); | ||
336 | //mPopupMenu->insertSeparator(); | 339 | //mPopupMenu->insertSeparator(); |
337 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | ||
338 | i18n("Set alarm for selected..."),this, | ||
339 | SLOT(setAlarm()),true); | ||
340 | |||
341 | |||
342 | |||
343 | #ifndef DESKTOP_VERSION | 340 | #ifndef DESKTOP_VERSION |
344 | mPopupMenu->insertSeparator(); | 341 | mPopupMenu->insertSeparator(); |
345 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), | 342 | mPopupMenu->addAdditionalItem(QIconSet(QPixmap()), |
346 | i18n("Beam selected via IR"),this, | 343 | i18n("Beam via IR"),this, |
347 | SLOT(beamSelected()),true); | 344 | SLOT(beamSelected()),true); |
348 | #endif | 345 | #endif |
349 | /* | 346 | /* |
@@ -438,7 +435,7 @@ void KOListView::populateCalPopup() | |||
438 | mCalPopup->clear(); | 435 | mCalPopup->clear(); |
439 | KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); | 436 | KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first(); |
440 | while ( kkf ) { | 437 | while ( kkf ) { |
441 | int index = mCalPopup->insertItem( kkf->mName, kkf->mCalNumber); | 438 | int index = mCalPopup->insertItem( kkf->mName+"...", kkf->mCalNumber); |
442 | if ( kkf->mErrorOnLoad || kkf->isReadOnly ) | 439 | if ( kkf->mErrorOnLoad || kkf->isReadOnly ) |
443 | mCalPopup->setItemEnabled( index, false ); | 440 | mCalPopup->setItemEnabled( index, false ); |
444 | kkf = KOPrefs::instance()->mCalendars.next(); | 441 | kkf = KOPrefs::instance()->mCalendars.next(); |
@@ -454,13 +451,19 @@ void KOListView::clearList() | |||
454 | { | 451 | { |
455 | clear (); | 452 | clear (); |
456 | } | 453 | } |
457 | void KOListView::addCat( ) | 454 | |
458 | { | ||
459 | setCategories( false ); | ||
460 | } | ||
461 | void KOListView::setCat() | 455 | void KOListView::setCat() |
462 | { | 456 | { |
463 | setCategories( true ); | 457 | |
458 | bool set = true; | ||
459 | int result = KMessageBox::warningYesNoCancel(this, | ||
460 | i18n("Do you want to <b>add</b> categories to the selected items or <b>reset</b> the list (i.e. remove current categories)?"), | ||
461 | i18n("Set categories"), | ||
462 | i18n("Add"), | ||
463 | i18n("Reset")); | ||
464 | if (result == KMessageBox::Cancel) return; | ||
465 | if (result == KMessageBox::Yes) set = false; | ||
466 | setCategories( set ); | ||
464 | } | 467 | } |
465 | 468 | ||
466 | void KOListView::setAlarm() | 469 | void KOListView::setAlarm() |
@@ -468,7 +471,6 @@ void KOListView::setAlarm() | |||
468 | KOAlarmPrefs kap( this); | 471 | KOAlarmPrefs kap( this); |
469 | if ( !kap.exec() ) | 472 | if ( !kap.exec() ) |
470 | return; | 473 | return; |
471 | QStringList itemList; | ||
472 | QPtrList<KOListViewItem> sel ; | 474 | QPtrList<KOListViewItem> sel ; |
473 | QListViewItem *qitem = mListView->firstChild (); | 475 | QListViewItem *qitem = mListView->firstChild (); |
474 | while ( qitem ) { | 476 | while ( qitem ) { |
@@ -543,45 +545,20 @@ void KOListView::setCategories( bool removeOld ) | |||
543 | } | 545 | } |
544 | QStringList catList = csd->selectedCategories(); | 546 | QStringList catList = csd->selectedCategories(); |
545 | delete csd; | 547 | delete csd; |
546 | // if ( catList.count() == 0 ) | 548 | QPtrList<Incidence> delSel = getSelectedIncidences(); // all inc allowed; |
547 | // return; | 549 | Incidence* inc = delSel.first(); |
548 | //catList.sort(); | 550 | while ( inc ) { |
549 | QString categoriesStr = catList.join(","); | ||
550 | int i; | ||
551 | QStringList itemList; | ||
552 | QPtrList<KOListViewItem> sel ; | ||
553 | QListViewItem *qitem = mListView->firstChild (); | ||
554 | while ( qitem ) { | ||
555 | if ( qitem->isSelected() ) { | ||
556 | sel.append(((KOListViewItem *)qitem)); | ||
557 | } | ||
558 | qitem = qitem->nextSibling(); | ||
559 | } | ||
560 | KOListViewItem * item, *temp; | ||
561 | item = sel.first(); | ||
562 | if( item ) { | ||
563 | Incidence* inc = item->data() ; | ||
564 | bool setSub = false; | ||
565 | if( inc->typeID() == todoID && sel.count() == 1 && inc->relations().count() > 0 ) { | ||
566 | int result = KMessageBox::warningYesNoCancel(this, | ||
567 | i18n("The todo\n%1\nhas subtodos!\nDo you want to set\nthe categories for\nall subtodos as well?").arg( inc->summary().left ( 25 ) ), | ||
568 | i18n("Todo has subtodos"), | ||
569 | i18n("Yes"), | ||
570 | i18n("No")); | ||
571 | if (result == KMessageBox::Cancel) item = 0; | ||
572 | if (result == KMessageBox::Yes) setSub = true; | ||
573 | } | ||
574 | while ( item ) { | ||
575 | inc = item->data(); | ||
576 | if ( removeOld ) { | 551 | if ( removeOld ) { |
577 | inc->setCategories( catList, setSub ); | 552 | inc->setCategories( catList, false ); |
578 | } else { | 553 | } else { |
579 | inc->addCategories( catList, setSub ); | 554 | inc->addCategories( catList, false ); |
580 | } | 555 | } |
556 | KOListViewItem* item = getItemForEvent(inc); | ||
557 | if (item) { | ||
581 | ListItemVisitor v(item, mStartDate ); | 558 | ListItemVisitor v(item, mStartDate ); |
582 | inc->accept(v); | 559 | inc->accept(v); |
583 | item = sel.next(); | ||
584 | } | 560 | } |
561 | inc = delSel.next(); | ||
585 | } | 562 | } |
586 | QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); | 563 | QTimer::singleShot( 1, this, SLOT ( resetFocus() ) ); |
587 | } | 564 | } |
@@ -589,45 +566,8 @@ void KOListView::setCategories( bool removeOld ) | |||
589 | void KOListView::beamSelected() | 566 | void KOListView::beamSelected() |
590 | { | 567 | { |
591 | QPtrList<Incidence> delSel = getSelectedIncidences() ; | 568 | QPtrList<Incidence> delSel = getSelectedIncidences() ; |
592 | int icount = delSel.count(); | 569 | if ( delSel.count() ) |
593 | if ( icount ) { | ||
594 | emit beamIncidenceList( delSel ); | 570 | emit beamIncidenceList( delSel ); |
595 | return; | ||
596 | QString fn ; | ||
597 | fn = QDir::homeDirPath()+"/kopitempbeamfile.vcs"; | ||
598 | QString mes; | ||
599 | bool createbup = true; | ||
600 | if ( createbup ) { | ||
601 | QString description = "\n"; | ||
602 | CalendarLocal* cal = new CalendarLocal(); | ||
603 | cal->setTimeZoneId(KPimGlobalPrefs::instance()->mTimeZoneId); | ||
604 | Incidence *incidence = delSel.first(); | ||
605 | while ( incidence ) { | ||
606 | Incidence *in = incidence->clone(); | ||
607 | description += in->summary() + "\n"; | ||
608 | cal->addIncidence( in ); | ||
609 | incidence = delSel.next(); | ||
610 | } | ||
611 | FileStorage storage( cal, fn, new VCalFormat ); | ||
612 | storage.save(); | ||
613 | delete cal; | ||
614 | mes = i18n("KO/Pi: Ready for beaming"); | ||
615 | topLevelWidget()->setCaption(mes); | ||
616 | |||
617 | #ifndef DESKTOP_VERSION | ||
618 | Ir *ir = new Ir( this ); | ||
619 | connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) ); | ||
620 | ir->send( fn, description, "text/x-vCalendar" ); | ||
621 | #endif | ||
622 | } | ||
623 | } | ||
624 | } | ||
625 | void KOListView::beamDone( Ir *ir ) | ||
626 | { | ||
627 | #ifndef DESKTOP_VERSION | ||
628 | delete ir; | ||
629 | #endif | ||
630 | topLevelWidget()->setCaption(i18n("KO/Pi:Beaming done")); | ||
631 | } | 571 | } |
632 | 572 | ||
633 | void KOListView::saveDescriptionToFile() | 573 | void KOListView::saveDescriptionToFile() |
@@ -1106,9 +1046,8 @@ void KOListView::changeEventDisplay(Event *event, int action) | |||
1106 | case KOGlobals::EVENTEDITED: | 1046 | case KOGlobals::EVENTEDITED: |
1107 | item = getItemForEvent(event); | 1047 | item = getItemForEvent(event); |
1108 | if (item) { | 1048 | if (item) { |
1109 | mUidDict.remove( event->uid() ); | 1049 | ListItemVisitor v(item, mStartDate ); |
1110 | delete item; | 1050 | ((Incidence*)event)->accept(v); |
1111 | addIncidence( event ); | ||
1112 | } | 1051 | } |
1113 | break; | 1052 | break; |
1114 | case KOGlobals::EVENTDELETED: | 1053 | case KOGlobals::EVENTDELETED: |
diff --git a/korganizer/kolistview.h b/korganizer/kolistview.h index bcef0f0..a54b550 100644 --- a/korganizer/kolistview.h +++ b/korganizer/kolistview.h | |||
@@ -30,11 +30,6 @@ | |||
30 | 30 | ||
31 | #include <klistview.h> | 31 | #include <klistview.h> |
32 | 32 | ||
33 | #ifndef DESKTOP_VERSION | ||
34 | #include <qtopia/ir.h> | ||
35 | #else | ||
36 | #define Ir char | ||
37 | #endif | ||
38 | #include <libkcal/incidence.h> | 33 | #include <libkcal/incidence.h> |
39 | 34 | ||
40 | #include "koeventview.h" | 35 | #include "koeventview.h" |
@@ -279,7 +274,6 @@ class KOListView : public KOEventView | |||
279 | void allSelection(); | 274 | void allSelection(); |
280 | 275 | ||
281 | void clear(); | 276 | void clear(); |
282 | void beamDone( Ir *ir ); | ||
283 | void showDates(); | 277 | void showDates(); |
284 | void hideDates(); | 278 | void hideDates(); |
285 | void deleteAll(); | 279 | void deleteAll(); |
@@ -288,7 +282,6 @@ class KOListView : public KOEventView | |||
288 | void saveDescriptionToFile(); | 282 | void saveDescriptionToFile(); |
289 | void beamSelected(); | 283 | void beamSelected(); |
290 | void updateConfig(); | 284 | void updateConfig(); |
291 | void addCat(); | ||
292 | void setCat(); | 285 | void setCat(); |
293 | void setAlarm(); | 286 | void setAlarm(); |
294 | void setCategories( bool removeOld ); | 287 | void setCategories( bool removeOld ); |
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp index 02d7aae..6337ca5 100644 --- a/korganizer/koprefs.cpp +++ b/korganizer/koprefs.cpp | |||
@@ -229,7 +229,7 @@ KOPrefs::KOPrefs() : | |||
229 | 229 | ||
230 | 230 | ||
231 | KPrefs::setCurrentGroup("Views"); | 231 | KPrefs::setCurrentGroup("Views"); |
232 | addItemBool("Block Popup Menu",&mBlockPopupMenu,true); | 232 | addItemBool("Block Popup Menu",&mBlockPopupMenu,false); |
233 | addItemBool("Show Date Navigator",&mShowDateNavigator,true); | 233 | addItemBool("Show Date Navigator",&mShowDateNavigator,true); |
234 | addItemInt("Hour Size",&mHourSize,8); | 234 | addItemInt("Hour Size",&mHourSize,8); |
235 | addItemBool("Show Daily Recurrences",&mDailyRecur,true); | 235 | addItemBool("Show Daily Recurrences",&mDailyRecur,true); |
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp index bd191d8..792a7b8 100644 --- a/korganizer/koviewmanager.cpp +++ b/korganizer/koviewmanager.cpp | |||
@@ -455,6 +455,8 @@ void KOViewManager::showListView() | |||
455 | mMainView, SLOT ( moveIncidence( Incidence * ) ) ); | 455 | mMainView, SLOT ( moveIncidence( Incidence * ) ) ); |
456 | connect( mListView, SIGNAL( beamIncidenceSignal( Incidence * ) ), | 456 | connect( mListView, SIGNAL( beamIncidenceSignal( Incidence * ) ), |
457 | mMainView, SLOT ( beamIncidence( Incidence * ) ) ); | 457 | mMainView, SLOT ( beamIncidence( Incidence * ) ) ); |
458 | connect( mListView, SIGNAL( beamIncidenceList( QPtrList<Incidence> ) ), | ||
459 | mMainView, SLOT ( beamIncidenceList( QPtrList<Incidence> ) ) ); | ||
458 | } | 460 | } |
459 | // bool temp = mFlagShowNextxDays; | 461 | // bool temp = mFlagShowNextxDays; |
460 | //globalFlagBlockPainting = true; | 462 | //globalFlagBlockPainting = true; |