author | zautrix <zautrix> | 2005-07-06 21:11:20 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-07-06 21:11:20 (UTC) |
commit | e1731d8790403a079613f291b4ac172d8f04c960 (patch) (unidiff) | |
tree | 75b13b2235fb6045b5c4b29f3d65d761c46ff746 | |
parent | 984e2132871c79990f6d9eac5702f7f32186f235 (diff) | |
download | kdepimpi-e1731d8790403a079613f291b4ac172d8f04c960.zip kdepimpi-e1731d8790403a079613f291b4ac172d8f04c960.tar.gz kdepimpi-e1731d8790403a079613f291b4ac172d8f04c960.tar.bz2 |
fixes
-rw-r--r-- | bin/kdepim/korganizer/germantranslation.txt | 9 | ||||
-rw-r--r-- | korganizer/kotodoeditor.cpp | 1 | ||||
-rw-r--r-- | korganizer/kotodoview.cpp | 108 | ||||
-rw-r--r-- | korganizer/kotodoview.h | 3 |
4 files changed, 94 insertions, 27 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt index a5e2597..cb92677 100644 --- a/bin/kdepim/korganizer/germantranslation.txt +++ b/bin/kdepim/korganizer/germantranslation.txt | |||
@@ -1471,35 +1471,36 @@ | |||
1471 | { "Filepath: ","Dateipfad: " }, | 1471 | { "Filepath: ","Dateipfad: " }, |
1472 | { "You can try to reload the calendar in the Resource View!","In der Resourcenansicht können Sie erneut versuchen den Kalender zu laden!" }, | 1472 | { "You can try to reload the calendar in the Resource View!","In der Resourcenansicht können Sie erneut versuchen den Kalender zu laden!" }, |
1473 | { "<b>WARNING:</b> There is a pending suspended alarm!","<b>WARNUNG:</b> Es gibt einen laufenden Suspendalarm!" }, | 1473 | { "<b>WARNING:</b> There is a pending suspended alarm!","<b>WARNUNG:</b> Es gibt einen laufenden Suspendalarm!" }, |
1474 | { "Pending Suspend Alarm","Laufender Suspend Alarm" }, | 1474 | { "Pending Suspend Alarm","Laufender Suspend Alarm" }, |
1475 | { "Error loading calendar %1","Fehler beim Laden von Kalender %1" }, | 1475 | { "Error loading calendar %1","Fehler beim Laden von Kalender %1" }, |
1476 | { "Calendar(s) not loaded:","Nicht geladene(r) Kalender:" }, | 1476 | { "Calendar(s) not loaded:","Nicht geladene(r) Kalender:" }, |
1477 | { "Loding of calendar(s) failed","Laden von Kalendern fehlgeschlagen" }, | 1477 | { "Loding of calendar(s) failed","Laden von Kalendern fehlgeschlagen" }, |
1478 | { "Alarm Options","Alarm Einstellungen" }, | 1478 | { "Alarm Options","Alarm Einstellungen" }, |
1479 | { "Delete selected...","Lösche Ausgewählte..." }, | 1479 | { "Delete selected...","Lösche Ausgewählte..." }, |
1480 | { "None","Nichts" }, | 1480 | { "None","Nichts" }, |
1481 | { "Selection","Auswahl" }, | 1481 | { "Selection","Auswahl" }, |
1482 | { "Set categories","Setze Kategorien" }, | 1482 | { "Set categories","Setze Kategorien" }, |
1483 | { "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!" }, | 1483 | { "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!" }, |
1484 | { "Reset","Neu setzen" }, | 1484 | { "Reset","Neu setzen" }, |
1485 | { "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)?" }, | 1485 | { "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)?" }, |
1486 | { "The file\n%1\ndoes not exist!\nShall I create it for you?","Die Datei\n%1\nexistiert nicht!\nSoll sie neu angelegt werden?" }, | 1486 | { "The file\n%1\ndoes not exist!\nShall I create it for you?","Die Datei\n%1\nexistiert nicht!\nSoll sie neu angelegt werden?" }, |
1487 | { "Sorry, cannot create the file\n%1!\nNo calendar added!","Kann leider die Datei\n%1\nnicht anlegen!\nKein Kalender hinzugefügt!" }, | 1487 | { "Sorry, cannot create the file\n%1!\nNo calendar added!","Kann leider die Datei\n%1\nnicht anlegen!\nKein Kalender hinzugefügt!" }, |
1488 | { "\nNO\n WRITEABLE\n CALENDAR\n FOUND!\n\nPlease fix your calendar settings!\n","\nKEIN\n SCHREIBBARER\n KALENDER\n GEFUNDEN!\n\nBitte korrigieren Sie\nihre Kalendereinstellungen!\n" }, | 1488 | { "\nNO\n WRITEABLE\n CALENDAR\n FOUND!\n\nPlease fix your calendar settings!\n","\nKEIN\n SCHREIBBARER\n KALENDER\n GEFUNDEN!\n\nBitte korrigieren Sie\nihre Kalendereinstellungen!\n" }, |
1489 | { "\nThe file\n%1\non disk has changed!\nFile size: %2 bytes.\nLast modified: %3\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nDie Datei\n%1\nwurde verändert!\nDatei Grösse: %2 Bytes.\nZuletzt geändert: %3\nMöchten Sie:\n\n - Speichern und die Datei überschreiben?\n - Mit Datei Synchronisieren, dann speichern?\n - Abbrechen ohne zu speichern? \n" }, | 1489 | { "\nThe file\n%1\non disk has changed!\nFile size: %2 bytes.\nLast modified: %3\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nDie Datei\n%1\nwurde verändert!\nDatei Grösse: %2 Bytes.\nZuletzt geändert: %3\nMöchten Sie:\n\n - Speichern und die Datei überschreiben?\n - Mit Datei Synchronisieren, dann speichern?\n - Abbrechen ohne zu speichern? \n" }, |
1490 | { "Edit","Edit" }, | 1490 | { "Edit","Edit" }, |
1491 | { "Last Modified","Zuletzt geändert" }, | 1491 | { "Last Modified","Zuletzt geändert" }, |
1492 | { "Journal viewer","Journal Anzeige" }, | 1492 | { "Journal viewer","Journal Anzeige" }, |
1493 | { "Configure Calendar Files...","Konfiguriere Kalenderdateien..." }, | 1493 | { "Configure Calendar Files...","Konfiguriere Kalenderdateien..." }, |
1494 | { "You can use and display <b>more than one</b> calendar file in KO/Pi. A calendar file is called a <b>resource</b>. To add a calendar or change calendar settings please use menu: <b>View -> Toggle Resource View</b>.","Sie können <b>mehr als eine</b> Kalenderdatei in KO/Pi darstellen und benutzen. Eine Kalenderdatei wird <b>Resource</b> genannt. Um einen Kalender hinzuzufügen oder die Kalendereinstellungen zu ändern benutzen Sie bitte das Menu: <b>Ansicht -> Resourcenansicht umschalten</b>." }, | 1494 | { "You can use and display <b>more than one</b> calendar file in KO/Pi. A calendar file is called a <b>resource</b>. To add a calendar or change calendar settings please use menu: <b>View -> Toggle Resource View</b>.","Sie können <b>mehr als eine</b> Kalenderdatei in KO/Pi darstellen und benutzen. Eine Kalenderdatei wird <b>Resource</b> genannt. Um einen Kalender hinzuzufügen oder die Kalendereinstellungen zu ändern benutzen Sie bitte das Menu: <b>Ansicht -> Resourcenansicht umschalten</b>." }, |
1495 | { "Hide Completed","Verstecke erledigte Todos" }, | ||
1496 | { "Show not Running","Zeige nicht Laufende" }, | ||
1495 | { "","" }, | 1497 | { "","" }, |
1496 | { "","" }, | 1498 | { "","" }, |
1497 | { "","" }, | 1499 | { "","" }, |
1498 | { "","" }, | 1500 | { "","" }, |
1499 | { "","" }, | 1501 | { "","" }, |
1500 | { "","" }, | 1502 | { "","" }, |
1501 | { "","" }, | 1503 | { "","" }, |
1502 | { "","" }, | 1504 | |
1503 | { "","" }, | 1505 | |
1504 | { "","" }, | 1506 | |
1505 | { "","" }, | ||
diff --git a/korganizer/kotodoeditor.cpp b/korganizer/kotodoeditor.cpp index 555c1b1..100a81b 100644 --- a/korganizer/kotodoeditor.cpp +++ b/korganizer/kotodoeditor.cpp | |||
@@ -277,48 +277,49 @@ void KOTodoEditor::deleteTodo() | |||
277 | reject(); | 277 | reject(); |
278 | break; | 278 | break; |
279 | } | 279 | } |
280 | } | 280 | } |
281 | else { | 281 | else { |
282 | emit todoToBeDeleted(mTodo); | 282 | emit todoToBeDeleted(mTodo); |
283 | emit dialogClose(mTodo); | 283 | emit dialogClose(mTodo); |
284 | mCalendar->deleteTodo(mTodo); | 284 | mCalendar->deleteTodo(mTodo); |
285 | emit todoDeleted(); | 285 | emit todoDeleted(); |
286 | reject(); | 286 | reject(); |
287 | } | 287 | } |
288 | } else { | 288 | } else { |
289 | reject(); | 289 | reject(); |
290 | } | 290 | } |
291 | } | 291 | } |
292 | 292 | ||
293 | void KOTodoEditor::setDefaults(QDateTime due,Todo *relatedEvent,bool allDay) | 293 | void KOTodoEditor::setDefaults(QDateTime due,Todo *relatedEvent,bool allDay) |
294 | { | 294 | { |
295 | mRelatedTodo = relatedEvent; | 295 | mRelatedTodo = relatedEvent; |
296 | 296 | ||
297 | mGeneral->setDefaults(due,allDay); | 297 | mGeneral->setDefaults(due,allDay); |
298 | mDetails->setDefaults(); | 298 | mDetails->setDefaults(); |
299 | showPage( 0 ); | 299 | showPage( 0 ); |
300 | if ( mRelatedTodo ) { | 300 | if ( mRelatedTodo ) { |
301 | mGeneral->fillCalCombo(mRelatedTodo->calID() ); | ||
301 | mGeneral->setCategories (mRelatedTodo->categoriesStr ()); | 302 | mGeneral->setCategories (mRelatedTodo->categoriesStr ()); |
302 | mGeneral->setSecrecy (mRelatedTodo->secrecy ()); | 303 | mGeneral->setSecrecy (mRelatedTodo->secrecy ()); |
303 | if ( mRelatedTodo->priority() < 3 ) | 304 | if ( mRelatedTodo->priority() < 3 ) |
304 | mGeneral->mPriorityCombo->setCurrentItem(mRelatedTodo->priority()-1); | 305 | mGeneral->mPriorityCombo->setCurrentItem(mRelatedTodo->priority()-1); |
305 | mGeneral->mSummaryEdit->lineEdit()->setText(mRelatedTodo->summary()+": "); | 306 | mGeneral->mSummaryEdit->lineEdit()->setText(mRelatedTodo->summary()+": "); |
306 | int len = mRelatedTodo->summary().length(); | 307 | int len = mRelatedTodo->summary().length(); |
307 | mGeneral->mSummaryEdit->lineEdit()->setFocus(); | 308 | mGeneral->mSummaryEdit->lineEdit()->setFocus(); |
308 | mGeneral->mSummaryEdit->lineEdit()->setCursorPosition ( len+2 ); | 309 | mGeneral->mSummaryEdit->lineEdit()->setCursorPosition ( len+2 ); |
309 | mGeneral->mSummaryEdit->lineEdit()->setSelection ( 0, len+2 ); | 310 | mGeneral->mSummaryEdit->lineEdit()->setSelection ( 0, len+2 ); |
310 | 311 | ||
311 | } else | 312 | } else |
312 | mGeneral->setFocusOn( 2 ); | 313 | mGeneral->setFocusOn( 2 ); |
313 | tabWidget()->setTabEnabled ( mRecurrence->parentWidget(), false ); | 314 | tabWidget()->setTabEnabled ( mRecurrence->parentWidget(), false ); |
314 | mRecurrence->setDefaults(QDateTime::currentDateTime(),QDateTime::currentDateTime().addSecs( 3600 )); | 315 | mRecurrence->setDefaults(QDateTime::currentDateTime(),QDateTime::currentDateTime().addSecs( 3600 )); |
315 | } | 316 | } |
316 | void KOTodoEditor::checkRecurrence() | 317 | void KOTodoEditor::checkRecurrence() |
317 | { | 318 | { |
318 | if ( mGeneral->mDueCheck->isChecked() && mGeneral->mStartCheck->isChecked()) { | 319 | if ( mGeneral->mDueCheck->isChecked() && mGeneral->mStartCheck->isChecked()) { |
319 | tabWidget()->setTabEnabled ( mRecurrence->parentWidget(), true ); | 320 | tabWidget()->setTabEnabled ( mRecurrence->parentWidget(), true ); |
320 | 321 | ||
321 | if ( mTodo ) | 322 | if ( mTodo ) |
322 | mRecurrence->readEvent( mTodo ); | 323 | mRecurrence->readEvent( mTodo ); |
323 | else { | 324 | else { |
324 | bool time = mGeneral->mTimeButton->isChecked(); | 325 | bool time = mGeneral->mTimeButton->isChecked(); |
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index a87e6fc..c23a8ee 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp | |||
@@ -483,52 +483,86 @@ void KOQuickTodo::focusInEvent(QFocusEvent *ev) | |||
483 | { | 483 | { |
484 | if ( text()==i18n("Click to add a new Todo") ) | 484 | if ( text()==i18n("Click to add a new Todo") ) |
485 | setText(""); | 485 | setText(""); |
486 | QLineEdit::focusInEvent(ev); | 486 | QLineEdit::focusInEvent(ev); |
487 | } | 487 | } |
488 | 488 | ||
489 | void KOQuickTodo::focusOutEvent(QFocusEvent *ev) | 489 | void KOQuickTodo::focusOutEvent(QFocusEvent *ev) |
490 | { | 490 | { |
491 | setText(i18n("Click to add a new Todo")); | 491 | setText(i18n("Click to add a new Todo")); |
492 | QLineEdit::focusOutEvent(ev); | 492 | QLineEdit::focusOutEvent(ev); |
493 | } | 493 | } |
494 | 494 | ||
495 | ///////////////////////////////////////////////////////////////////////////// | 495 | ///////////////////////////////////////////////////////////////////////////// |
496 | 496 | ||
497 | KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : | 497 | KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : |
498 | KOrg::BaseView(calendar,parent,name) | 498 | KOrg::BaseView(calendar,parent,name) |
499 | { | 499 | { |
500 | mCategoryPopupMenu = 0; | 500 | mCategoryPopupMenu = 0; |
501 | mPendingUpdateBeforeRepaint = false; | 501 | mPendingUpdateBeforeRepaint = false; |
502 | isFlatDisplay = false; | 502 | isFlatDisplay = false; |
503 | mNavigator = 0; | 503 | mNavigator = 0; |
504 | QBoxLayout *topLayout = new QVBoxLayout(this); | 504 | QBoxLayout *topLayout = new QVBoxLayout(this); |
505 | mName = QString ( name ); | 505 | mName = QString ( name ); |
506 | mBlockUpdate = false; | 506 | mBlockUpdate = false; |
507 | mQuickAdd = new KOQuickTodo(this); | 507 | mQuickBar = new QWidget( this ); |
508 | topLayout->addWidget(mQuickAdd); | 508 | topLayout->addWidget(mQuickBar); |
509 | 509 | ||
510 | if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickAdd->hide(); | 510 | mQuickAdd = new KOQuickTodo(mQuickBar); |
511 | QBoxLayout *quickLayout = new QHBoxLayout(mQuickBar); | ||
512 | quickLayout->addWidget( mQuickAdd ); | ||
513 | QPushButton * flat = new QPushButton( "F",mQuickBar ); | ||
514 | int fixwid = flat->sizeHint().height(); | ||
515 | if ( QApplication::desktop()->width() > 320 ) | ||
516 | fixwid *= 2; | ||
517 | flat->setFixedWidth( fixwid ); | ||
518 | connect ( flat, SIGNAL ( clicked()), SLOT ( setAllFlat())); | ||
519 | QPushButton * allopen = new QPushButton( "O",mQuickBar ); | ||
520 | allopen->setFixedWidth( fixwid ); | ||
521 | connect ( allopen, SIGNAL ( clicked()), SLOT ( setAllOpen())); | ||
522 | QPushButton * allclose = new QPushButton( "C",mQuickBar ); | ||
523 | allclose->setFixedWidth( fixwid ); | ||
524 | connect ( allclose, SIGNAL ( clicked()), SLOT ( setAllClose())); | ||
525 | QPushButton * s_done = new QPushButton( "D",mQuickBar ); | ||
526 | s_done->setFixedWidth( fixwid ); | ||
527 | connect ( s_done, SIGNAL ( clicked()), SLOT ( toggleCompleted())); | ||
528 | QPushButton * s_run = new QPushButton( "R",mQuickBar ); | ||
529 | s_run->setFixedWidth( fixwid ); | ||
530 | connect ( s_run, SIGNAL ( clicked()), SLOT ( toggleRunning())); | ||
531 | |||
532 | mNewSubBut = new QPushButton( "sub",mQuickBar ); | ||
533 | mNewSubBut->setFixedWidth( fixwid*3/2 ); | ||
534 | connect ( mNewSubBut, SIGNAL ( clicked()), SLOT ( newSubTodo())); | ||
535 | mNewSubBut->setEnabled( false ); | ||
536 | quickLayout->addWidget( mNewSubBut ); | ||
537 | quickLayout->addWidget( s_done ); | ||
538 | quickLayout->addWidget( s_run ); | ||
539 | |||
540 | quickLayout->addWidget( allopen ); | ||
541 | quickLayout->addWidget( allclose ); | ||
542 | quickLayout->addWidget( flat ); | ||
543 | |||
544 | if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickBar->hide(); | ||
511 | 545 | ||
512 | mTodoListView = new KOTodoListView(calendar,this, name ); | 546 | mTodoListView = new KOTodoListView(calendar,this, name ); |
513 | topLayout->addWidget(mTodoListView); | 547 | topLayout->addWidget(mTodoListView); |
514 | //mTodoListView->header()->setMaximumHeight(30); | 548 | //mTodoListView->header()->setMaximumHeight(30); |
515 | mTodoListView->setRootIsDecorated(true); | 549 | mTodoListView->setRootIsDecorated(true); |
516 | mTodoListView->setAllColumnsShowFocus(true); | 550 | mTodoListView->setAllColumnsShowFocus(true); |
517 | 551 | ||
518 | mTodoListView->setShowSortIndicator(true); | 552 | mTodoListView->setShowSortIndicator(true); |
519 | 553 | ||
520 | mTodoListView->addColumn(i18n("Todo")); | 554 | mTodoListView->addColumn(i18n("Todo")); |
521 | mTodoListView->addColumn(i18n("Prio")); | 555 | mTodoListView->addColumn(i18n("Prio")); |
522 | mTodoListView->setColumnAlignment(1,AlignHCenter); | 556 | mTodoListView->setColumnAlignment(1,AlignHCenter); |
523 | mTodoListView->addColumn(i18n("Complete")); | 557 | mTodoListView->addColumn(i18n("Complete")); |
524 | mTodoListView->setColumnAlignment(2,AlignCenter); | 558 | mTodoListView->setColumnAlignment(2,AlignCenter); |
525 | 559 | ||
526 | mTodoListView->addColumn(i18n("Due Date")); | 560 | mTodoListView->addColumn(i18n("Due Date")); |
527 | mTodoListView->setColumnAlignment(3,AlignLeft); | 561 | mTodoListView->setColumnAlignment(3,AlignLeft); |
528 | mTodoListView->addColumn(i18n("Due Time")); | 562 | mTodoListView->addColumn(i18n("Due Time")); |
529 | mTodoListView->setColumnAlignment(4,AlignHCenter); | 563 | mTodoListView->setColumnAlignment(4,AlignHCenter); |
530 | 564 | ||
531 | mTodoListView->addColumn(i18n("Start Date")); | 565 | mTodoListView->addColumn(i18n("Start Date")); |
532 | mTodoListView->setColumnAlignment(5,AlignLeft); | 566 | mTodoListView->setColumnAlignment(5,AlignLeft); |
533 | mTodoListView->addColumn(i18n("Start Time")); | 567 | mTodoListView->addColumn(i18n("Start Time")); |
534 | mTodoListView->setColumnAlignment(6,AlignHCenter); | 568 | mTodoListView->setColumnAlignment(6,AlignHCenter); |
@@ -1061,50 +1095,54 @@ void KOTodoView::popupMenu(QListViewItem *item,const QPoint &p,int column) | |||
1061 | switch (column){ | 1095 | switch (column){ |
1062 | case 1: | 1096 | case 1: |
1063 | mPriorityPopupMenu->popup(QCursor::pos ()); break; | 1097 | mPriorityPopupMenu->popup(QCursor::pos ()); break; |
1064 | case 2: | 1098 | case 2: |
1065 | mPercentageCompletedPopupMenu->popup(QCursor::pos ()); break; | 1099 | mPercentageCompletedPopupMenu->popup(QCursor::pos ()); break; |
1066 | case 3: | 1100 | case 3: |
1067 | moveTodo(); | 1101 | moveTodo(); |
1068 | break; | 1102 | break; |
1069 | case 8: | 1103 | case 8: |
1070 | mCategoryPopupMenu->popup(QCursor::pos ()); break; | 1104 | mCategoryPopupMenu->popup(QCursor::pos ()); break; |
1071 | case 9: | 1105 | case 9: |
1072 | mCalPopupMenu->popup(QCursor::pos ()); break; | 1106 | mCalPopupMenu->popup(QCursor::pos ()); break; |
1073 | default: | 1107 | default: |
1074 | mItemPopupMenu->popup(QCursor::pos()); | 1108 | mItemPopupMenu->popup(QCursor::pos()); |
1075 | } | 1109 | } |
1076 | } else mPopupMenu->popup(QCursor::pos()); | 1110 | } else mPopupMenu->popup(QCursor::pos()); |
1077 | } | 1111 | } |
1078 | void KOTodoView::newTodo() | 1112 | void KOTodoView::newTodo() |
1079 | { | 1113 | { |
1080 | emit newTodoSignal(); | 1114 | emit newTodoSignal(); |
1081 | } | 1115 | } |
1082 | 1116 | ||
1083 | void KOTodoView::newSubTodo() | 1117 | void KOTodoView::newSubTodo() |
1084 | { | 1118 | { |
1119 | mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem(); | ||
1085 | if (mActiveItem) { | 1120 | if (mActiveItem) { |
1086 | emit newSubTodoSignal(mActiveItem->todo()); | 1121 | if ( mQuickAdd->isVisible() && !mQuickAdd->text().isEmpty() && mQuickAdd->text() != i18n("Click to add a new Todo") ) { |
1122 | addQuickTodoPar( mActiveItem->todo()); | ||
1123 | } else | ||
1124 | emit newSubTodoSignal(mActiveItem->todo()); | ||
1087 | } | 1125 | } |
1088 | } | 1126 | } |
1089 | void KOTodoView::unparentTodo() | 1127 | void KOTodoView::unparentTodo() |
1090 | { | 1128 | { |
1091 | if (mActiveItem) { | 1129 | if (mActiveItem) { |
1092 | emit unparentTodoSignal(mActiveItem->todo()); | 1130 | emit unparentTodoSignal(mActiveItem->todo()); |
1093 | } | 1131 | } |
1094 | } | 1132 | } |
1095 | 1133 | ||
1096 | void KOTodoView::reparentTodo() | 1134 | void KOTodoView::reparentTodo() |
1097 | { | 1135 | { |
1098 | if (mActiveItem) { | 1136 | if (mActiveItem) { |
1099 | topLevelWidget()->setCaption(i18n("Click on new parent item")); | 1137 | topLevelWidget()->setCaption(i18n("Click on new parent item")); |
1100 | pendingSubtodo = mActiveItem; | 1138 | pendingSubtodo = mActiveItem; |
1101 | } | 1139 | } |
1102 | } | 1140 | } |
1103 | void KOTodoView::editTodo() | 1141 | void KOTodoView::editTodo() |
1104 | { | 1142 | { |
1105 | if (mActiveItem) { | 1143 | if (mActiveItem) { |
1106 | emit editTodoSignal(mActiveItem->todo()); | 1144 | emit editTodoSignal(mActiveItem->todo()); |
1107 | } | 1145 | } |
1108 | } | 1146 | } |
1109 | void KOTodoView::cloneTodo() | 1147 | void KOTodoView::cloneTodo() |
1110 | { | 1148 | { |
@@ -1370,50 +1408,52 @@ void KOTodoView::itemStateChanged( QListViewItem *item ) | |||
1370 | // kdDebug() << "KOTodoView::itemStateChanged(): " << todoItem->todo()->summary() << endl; | 1408 | // kdDebug() << "KOTodoView::itemStateChanged(): " << todoItem->todo()->summary() << endl; |
1371 | 1409 | ||
1372 | if( mDocPrefs ) mDocPrefs->writeEntry( todoItem->todo()->uid(), todoItem->isOpen() ); | 1410 | if( mDocPrefs ) mDocPrefs->writeEntry( todoItem->todo()->uid(), todoItem->isOpen() ); |
1373 | } | 1411 | } |
1374 | 1412 | ||
1375 | void KOTodoView::saveLayout(KConfig *config, const QString &group) const | 1413 | void KOTodoView::saveLayout(KConfig *config, const QString &group) const |
1376 | { | 1414 | { |
1377 | mTodoListView->saveLayout(config,group); | 1415 | mTodoListView->saveLayout(config,group); |
1378 | } | 1416 | } |
1379 | 1417 | ||
1380 | void KOTodoView::restoreLayout(KConfig *config, const QString &group) | 1418 | void KOTodoView::restoreLayout(KConfig *config, const QString &group) |
1381 | { | 1419 | { |
1382 | mTodoListView->restoreLayout(config,group); | 1420 | mTodoListView->restoreLayout(config,group); |
1383 | } | 1421 | } |
1384 | 1422 | ||
1385 | void KOTodoView::processSelectionChange() | 1423 | void KOTodoView::processSelectionChange() |
1386 | { | 1424 | { |
1387 | // kdDebug() << "KOTodoView::processSelectionChange()" << endl; | 1425 | // kdDebug() << "KOTodoView::processSelectionChange()" << endl; |
1388 | 1426 | ||
1389 | KOTodoViewItem *item = | 1427 | KOTodoViewItem *item = |
1390 | static_cast<KOTodoViewItem *>( mTodoListView->selectedItem() ); | 1428 | static_cast<KOTodoViewItem *>( mTodoListView->selectedItem() ); |
1391 | 1429 | ||
1392 | if ( !item ) { | 1430 | if ( !item ) { |
1393 | emit incidenceSelected( 0 ); | 1431 | emit incidenceSelected( 0 ); |
1432 | mNewSubBut->setEnabled( false ); | ||
1394 | } else { | 1433 | } else { |
1395 | emit incidenceSelected( item->todo() ); | 1434 | emit incidenceSelected( item->todo() ); |
1435 | mNewSubBut->setEnabled( true ); | ||
1396 | } | 1436 | } |
1397 | } | 1437 | } |
1398 | 1438 | ||
1399 | void KOTodoView::modified(bool b) | 1439 | void KOTodoView::modified(bool b) |
1400 | { | 1440 | { |
1401 | emit isModified(b); | 1441 | emit isModified(b); |
1402 | } | 1442 | } |
1403 | void KOTodoView::setTodoModified( Todo* todo ) | 1443 | void KOTodoView::setTodoModified( Todo* todo ) |
1404 | { | 1444 | { |
1405 | todoModified( todo, KOGlobals::UNKNOWN_MODIFIED ); | 1445 | todoModified( todo, KOGlobals::UNKNOWN_MODIFIED ); |
1406 | } | 1446 | } |
1407 | void KOTodoView::clearSelection() | 1447 | void KOTodoView::clearSelection() |
1408 | { | 1448 | { |
1409 | mTodoListView->selectAll( false ); | 1449 | mTodoListView->selectAll( false ); |
1410 | } | 1450 | } |
1411 | void KOTodoView::setAllOpen() | 1451 | void KOTodoView::setAllOpen() |
1412 | { | 1452 | { |
1413 | if ( isFlatDisplay ) { | 1453 | if ( isFlatDisplay ) { |
1414 | isFlatDisplay = false; | 1454 | isFlatDisplay = false; |
1415 | mPopupMenu->setItemChecked( 8,false ); | 1455 | mPopupMenu->setItemChecked( 8,false ); |
1416 | updateView(); | 1456 | updateView(); |
1417 | } else { | 1457 | } else { |
1418 | storeCurrentItem(); | 1458 | storeCurrentItem(); |
1419 | } | 1459 | } |
@@ -1459,95 +1499,117 @@ void KOTodoView::displayAllFlat() | |||
1459 | KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this); | 1499 | KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this); |
1460 | mTodoMap.insert(todo,todoItem); | 1500 | mTodoMap.insert(todo,todoItem); |
1461 | } | 1501 | } |
1462 | resetCurrentItem(); | 1502 | resetCurrentItem(); |
1463 | } | 1503 | } |
1464 | 1504 | ||
1465 | void KOTodoView::setAllFlat() | 1505 | void KOTodoView::setAllFlat() |
1466 | { | 1506 | { |
1467 | if ( isFlatDisplay ) { | 1507 | if ( isFlatDisplay ) { |
1468 | isFlatDisplay = false; | 1508 | isFlatDisplay = false; |
1469 | mPopupMenu->setItemChecked( 8,false ); | 1509 | mPopupMenu->setItemChecked( 8,false ); |
1470 | updateView(); | 1510 | updateView(); |
1471 | return; | 1511 | return; |
1472 | } | 1512 | } |
1473 | displayAllFlat(); | 1513 | displayAllFlat(); |
1474 | } | 1514 | } |
1475 | 1515 | ||
1476 | void KOTodoView::purgeCompleted() | 1516 | void KOTodoView::purgeCompleted() |
1477 | { | 1517 | { |
1478 | emit purgeCompletedSignal(); | 1518 | emit purgeCompletedSignal(); |
1479 | 1519 | ||
1480 | } | 1520 | } |
1481 | void KOTodoView::toggleQuickTodo() | 1521 | void KOTodoView::toggleQuickTodo() |
1482 | { | 1522 | { |
1483 | if ( mQuickAdd->isVisible() ) { | 1523 | if ( mQuickBar->isVisible() ) { |
1484 | mQuickAdd->hide(); | 1524 | mQuickBar->hide(); |
1485 | KOPrefs::instance()->mEnableQuickTodo = false; | 1525 | KOPrefs::instance()->mEnableQuickTodo = false; |
1486 | } | 1526 | } |
1487 | else { | 1527 | else { |
1488 | mQuickAdd->show(); | 1528 | mQuickBar->show(); |
1489 | KOPrefs::instance()->mEnableQuickTodo = true; | 1529 | KOPrefs::instance()->mEnableQuickTodo = true; |
1490 | } | 1530 | } |
1491 | mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo); | 1531 | mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo); |
1492 | mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo ); | 1532 | mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo ); |
1493 | } | 1533 | } |
1494 | 1534 | ||
1495 | void KOTodoView::toggleRunning() | 1535 | void KOTodoView::toggleRunning() |
1496 | { | 1536 | { |
1497 | KOPrefs::instance()->mHideNonStartedTodos = !KOPrefs::instance()->mHideNonStartedTodos; | 1537 | KOPrefs::instance()->mHideNonStartedTodos = !KOPrefs::instance()->mHideNonStartedTodos; |
1498 | mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos); | 1538 | mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos); |
1499 | mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos ); | 1539 | mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos ); |
1500 | updateView(); | 1540 | updateView(); |
1541 | if ( KOPrefs::instance()->mHideNonStartedTodos ) | ||
1542 | topLevelWidget()->setCaption(i18n("Hide not Running")); | ||
1543 | else | ||
1544 | topLevelWidget()->setCaption(i18n("Show not Running")); | ||
1501 | } | 1545 | } |
1502 | 1546 | ||
1503 | void KOTodoView::toggleCompleted() | 1547 | void KOTodoView::toggleCompleted() |
1504 | { | 1548 | { |
1505 | KOPrefs::instance()->mShowCompletedTodo = !KOPrefs::instance()->mShowCompletedTodo; | 1549 | KOPrefs::instance()->mShowCompletedTodo = !KOPrefs::instance()->mShowCompletedTodo; |
1506 | mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo ); | 1550 | mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo ); |
1507 | mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo ); | 1551 | mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo ); |
1508 | updateView(); | 1552 | updateView(); |
1553 | if ( KOPrefs::instance()->mShowCompletedTodo ) | ||
1554 | topLevelWidget()->setCaption(i18n("Show Completed")); | ||
1555 | else | ||
1556 | topLevelWidget()->setCaption(i18n("Hide Completed")); | ||
1509 | } | 1557 | } |
1510 | 1558 | ||
1511 | void KOTodoView::addQuickTodo() | 1559 | void KOTodoView::addQuickTodo() |
1512 | { | 1560 | { |
1513 | Todo *todo = new Todo(); | 1561 | addQuickTodoPar( 0 ); |
1514 | todo->setSummary(mQuickAdd->text()); | ||
1515 | todo->setOrganizer(KOPrefs::instance()->email()); | ||
1516 | CalFilter * cf = mCalendar->filter(); | ||
1517 | if ( cf ) { | ||
1518 | if ( cf->isEnabled()&& cf->showCategories()) { | ||
1519 | todo->setCategories(cf->categoryList()); | ||
1520 | } | ||
1521 | if ( cf->isEnabled() ) | ||
1522 | todo->setSecrecy( cf->getSecrecy()); | ||
1523 | } | ||
1524 | mCalendar->addTodo(todo); | ||
1525 | mQuickAdd->setText(""); | ||
1526 | todoModified (todo, KOGlobals::EVENTADDED ); | ||
1527 | updateView(); | ||
1528 | } | 1562 | } |
1563 | void KOTodoView::addQuickTodoPar( Todo * parentTodo) | ||
1564 | { | ||
1565 | Todo *todo = new Todo(); | ||
1566 | todo->setSummary(mQuickAdd->text()); | ||
1567 | todo->setOrganizer(KOPrefs::instance()->email()); | ||
1568 | if ( parentTodo ) { | ||
1569 | todo->setRelatedTo(parentTodo); | ||
1570 | |||
1571 | todo->setCategories (parentTodo->categoriesStr ()); | ||
1572 | todo->setSecrecy (parentTodo->secrecy ()); | ||
1573 | if ( parentTodo->priority() < 3 ) | ||
1574 | todo->setPriority( parentTodo->priority() ); | ||
1575 | todo->setCalID( parentTodo->calID() ); | ||
1576 | } else { | ||
1577 | CalFilter * cf = mCalendar->filter(); | ||
1578 | if ( cf ) { | ||
1579 | if ( cf->isEnabled()&& cf->showCategories()) { | ||
1580 | todo->setCategories(cf->categoryList()); | ||
1581 | } | ||
1582 | if ( cf->isEnabled() ) | ||
1583 | todo->setSecrecy( cf->getSecrecy()); | ||
1584 | } | ||
1585 | } | ||
1586 | mCalendar->addTodo(todo); | ||
1587 | mQuickAdd->setText(""); | ||
1588 | todoModified (todo, KOGlobals::EVENTADDED ); | ||
1589 | updateView(); | ||
1529 | 1590 | ||
1591 | } | ||
1530 | void KOTodoView::keyPressEvent ( QKeyEvent * e ) | 1592 | void KOTodoView::keyPressEvent ( QKeyEvent * e ) |
1531 | { | 1593 | { |
1532 | // e->ignore(); | 1594 | // e->ignore(); |
1533 | //return; | 1595 | //return; |
1534 | //qDebug("KOTodoView::keyPressEvent "); | 1596 | //qDebug("KOTodoView::keyPressEvent "); |
1535 | switch ( e->key() ) { | 1597 | switch ( e->key() ) { |
1536 | case Qt::Key_Down: | 1598 | case Qt::Key_Down: |
1537 | case Qt::Key_Up: | 1599 | case Qt::Key_Up: |
1538 | QWidget::keyPressEvent ( e ); | 1600 | QWidget::keyPressEvent ( e ); |
1539 | break; | 1601 | break; |
1540 | 1602 | ||
1541 | case Qt::Key_Q: | 1603 | case Qt::Key_Q: |
1542 | toggleQuickTodo(); | 1604 | toggleQuickTodo(); |
1543 | break; | 1605 | break; |
1544 | case Qt::Key_U: | 1606 | case Qt::Key_U: |
1545 | if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) { | 1607 | if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) { |
1546 | mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem(); | 1608 | mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem(); |
1547 | unparentTodo(); | 1609 | unparentTodo(); |
1548 | e->accept(); | 1610 | e->accept(); |
1549 | } else | 1611 | } else |
1550 | e->ignore(); | 1612 | e->ignore(); |
1551 | break; | 1613 | break; |
1552 | case Qt::Key_S: | 1614 | case Qt::Key_S: |
1553 | if ( e->state() == Qt::ControlButton ) { | 1615 | if ( e->state() == Qt::ControlButton ) { |
diff --git a/korganizer/kotodoview.h b/korganizer/kotodoview.h index 79cc756..a8e90e2 100644 --- a/korganizer/kotodoview.h +++ b/korganizer/kotodoview.h | |||
@@ -233,73 +233,76 @@ class KOTodoView : public KOrg::BaseView | |||
233 | void unparentTodoSignal(Todo *); | 233 | void unparentTodoSignal(Todo *); |
234 | void reparentTodoSignal( Todo *,Todo * ); | 234 | void reparentTodoSignal( Todo *,Todo * ); |
235 | void showTodoSignal(Todo *); | 235 | void showTodoSignal(Todo *); |
236 | 236 | ||
237 | void editTodoSignal(Todo *); | 237 | void editTodoSignal(Todo *); |
238 | void deleteTodoSignal(Todo *); | 238 | void deleteTodoSignal(Todo *); |
239 | void todoModifiedSignal (Todo *, int); | 239 | void todoModifiedSignal (Todo *, int); |
240 | 240 | ||
241 | void isModified(bool); | 241 | void isModified(bool); |
242 | void cloneTodoSignal( Incidence * ); | 242 | void cloneTodoSignal( Incidence * ); |
243 | void cancelTodoSignal( Incidence * ); | 243 | void cancelTodoSignal( Incidence * ); |
244 | void moveTodoSignal( Incidence * ); | 244 | void moveTodoSignal( Incidence * ); |
245 | void beamTodoSignal( Incidence * ); | 245 | void beamTodoSignal( Incidence * ); |
246 | void purgeCompletedSignal(); | 246 | void purgeCompletedSignal(); |
247 | 247 | ||
248 | protected slots: | 248 | protected slots: |
249 | void toggleRunningItem(); | 249 | void toggleRunningItem(); |
250 | void paintNeeded(); | 250 | void paintNeeded(); |
251 | void processSelectionChange(); | 251 | void processSelectionChange(); |
252 | void addQuickTodo(); | 252 | void addQuickTodo(); |
253 | void setTodoModified( Todo* ); | 253 | void setTodoModified( Todo* ); |
254 | void todoModified(Todo *, int ); | 254 | void todoModified(Todo *, int ); |
255 | 255 | ||
256 | private: | 256 | private: |
257 | void addQuickTodoPar( Todo * parentTodo); | ||
257 | /* | 258 | /* |
258 | * the TodoEditor approach is rather unscaling in the long | 259 | * the TodoEditor approach is rather unscaling in the long |
259 | * run. | 260 | * run. |
260 | * Korganizer keeps it in memory and we need to update | 261 | * Korganizer keeps it in memory and we need to update |
261 | * 1. make KOTodoViewItem a QObject again? | 262 | * 1. make KOTodoViewItem a QObject again? |
262 | * 2. add a public method for setting one todo modified? | 263 | * 2. add a public method for setting one todo modified? |
263 | * 3. add a private method for setting a todo modified + friend here? | 264 | * 3. add a private method for setting a todo modified + friend here? |
264 | * -- zecke 2002-07-08 | 265 | * -- zecke 2002-07-08 |
265 | */ | 266 | */ |
266 | KOTodoViewWhatsThis* mKOTodoViewWhatsThis; | 267 | KOTodoViewWhatsThis* mKOTodoViewWhatsThis; |
267 | friend class KOTodoListView; | 268 | friend class KOTodoListView; |
268 | void paintEvent(QPaintEvent * pevent); | 269 | void paintEvent(QPaintEvent * pevent); |
269 | bool mPendingUpdateBeforeRepaint; | 270 | bool mPendingUpdateBeforeRepaint; |
270 | friend class KOTodoViewItem; | 271 | friend class KOTodoViewItem; |
271 | QMap<Todo *,KOTodoViewItem *>::ConstIterator insertTodoItem(Todo *todo); | 272 | QMap<Todo *,KOTodoViewItem *>::ConstIterator insertTodoItem(Todo *todo); |
272 | void restoreItemState( QListViewItem * ); | 273 | void restoreItemState( QListViewItem * ); |
273 | 274 | ||
274 | bool checkTodo( Todo * ); | 275 | bool checkTodo( Todo * ); |
275 | bool isFlatDisplay; | 276 | bool isFlatDisplay; |
276 | void setOpen( QListViewItem*, bool setOpen); | 277 | void setOpen( QListViewItem*, bool setOpen); |
277 | KOTodoListView *mTodoListView; | 278 | KOTodoListView *mTodoListView; |
278 | QPopupMenu *mItemPopupMenu; | 279 | QPopupMenu *mItemPopupMenu; |
279 | QPopupMenu *mPopupMenu; | 280 | QPopupMenu *mPopupMenu; |
280 | QPopupMenu *mPriorityPopupMenu; | 281 | QPopupMenu *mPriorityPopupMenu; |
281 | QPopupMenu *mPercentageCompletedPopupMenu; | 282 | QPopupMenu *mPercentageCompletedPopupMenu; |
282 | QPopupMenu *mCategoryPopupMenu; | 283 | QPopupMenu *mCategoryPopupMenu; |
283 | QPopupMenu *mCalPopupMenu; | 284 | QPopupMenu *mCalPopupMenu; |
284 | 285 | ||
285 | QMap<int, int> mPercentage; | 286 | QMap<int, int> mPercentage; |
286 | QMap<int, int> mPriority; | 287 | QMap<int, int> mPriority; |
287 | QMap<int, QString> mCategory; | 288 | QMap<int, QString> mCategory; |
288 | KOTodoViewItem *mActiveItem; | 289 | KOTodoViewItem *mActiveItem; |
289 | 290 | ||
290 | QMap<Todo *,KOTodoViewItem *> mTodoMap; | 291 | QMap<Todo *,KOTodoViewItem *> mTodoMap; |
291 | QString mName; | 292 | QString mName; |
293 | QWidget* mQuickBar; | ||
292 | 294 | ||
293 | DocPrefs *mDocPrefs; | 295 | DocPrefs *mDocPrefs; |
294 | QString mCurrentDoc; | 296 | QString mCurrentDoc; |
295 | KOQuickTodo *mQuickAdd; | 297 | KOQuickTodo *mQuickAdd; |
296 | bool mBlockUpdate; | 298 | bool mBlockUpdate; |
297 | void keyPressEvent ( QKeyEvent * ) ; | 299 | void keyPressEvent ( QKeyEvent * ) ; |
298 | KOTodoViewItem * pendingSubtodo; | 300 | KOTodoViewItem * pendingSubtodo; |
299 | DateNavigator* mNavigator; | 301 | DateNavigator* mNavigator; |
300 | void storeCurrentItem(); | 302 | void storeCurrentItem(); |
301 | void resetCurrentItem(); | 303 | void resetCurrentItem(); |
302 | Incidence * mCurItem, *mCurItemRootParent, *mCurItemParent,*mCurItemAbove; | 304 | Incidence * mCurItem, *mCurItemRootParent, *mCurItemParent,*mCurItemAbove; |
305 | QPushButton * mNewSubBut; | ||
303 | }; | 306 | }; |
304 | 307 | ||
305 | #endif | 308 | #endif |