-rw-r--r-- | bin/kdepim/WhatsNew.txt | 2 | ||||
-rw-r--r-- | korganizer/kotodoview.cpp | 21 | ||||
-rw-r--r-- | korganizer/kotodoview.h | 1 |
3 files changed, 16 insertions, 8 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt index 7214035..14dcdac 100644 --- a/bin/kdepim/WhatsNew.txt +++ b/bin/kdepim/WhatsNew.txt | |||
@@ -1,51 +1,53 @@ | |||
1 | Info about the changes in new versions of KDE-Pim/Pi | 1 | Info about the changes in new versions of KDE-Pim/Pi |
2 | 2 | ||
3 | ********** VERSION 2.0.3 ************ | 3 | ********** VERSION 2.0.3 ************ |
4 | 4 | ||
5 | KO/Pi: | 5 | KO/Pi: |
6 | Added feature for changing alarm settings for many items at once: | 6 | Added feature for changing alarm settings for many items at once: |
7 | Open list view (or search dialog), select the desired items and choose in | 7 | Open list view (or search dialog), select the desired items and choose in |
8 | the popup menu: Set alarm for selected... | 8 | the popup menu: Set alarm for selected... |
9 | 9 | ||
10 | Added to the event/todo viewer the option to send an email to | 10 | Added to the event/todo viewer the option to send an email to |
11 | all attendees or all selected (with RSVP) attendees. | 11 | all attendees or all selected (with RSVP) attendees. |
12 | 12 | ||
13 | Made the week-month mode changing in month view faster. | 13 | Made the week-month mode changing in month view faster. |
14 | 14 | ||
15 | Made month view better useable with keyboard. | 15 | Made month view better useable with keyboard. |
16 | Now TAB key jumps to next cell with an event/todo. | 16 | Now TAB key jumps to next cell with an event/todo. |
17 | Scroll in cell with coursor keys, scroll in time (next week) with | 17 | Scroll in cell with coursor keys, scroll in time (next week) with |
18 | Shift/Control + coursorkeys. | 18 | Shift/Control + coursorkeys. |
19 | 19 | ||
20 | Fixeg bug that the todo view flat mode was reset after first view update. | ||
21 | |||
20 | ********** VERSION 2.0.2 ************ | 22 | ********** VERSION 2.0.2 ************ |
21 | 23 | ||
22 | KO/Pi: | 24 | KO/Pi: |
23 | Fixed the layout problem of the day label buttons | 25 | Fixed the layout problem of the day label buttons |
24 | of the agenda view introduced in version 2.0.1. | 26 | of the agenda view introduced in version 2.0.1. |
25 | 27 | ||
26 | Added WhatsThis support for the todo view and the list view. | 28 | Added WhatsThis support for the todo view and the list view. |
27 | 29 | ||
28 | Added a quite useful feature to the montview. | 30 | Added a quite useful feature to the montview. |
29 | Just click on the week numbers on the left. | 31 | Just click on the week numbers on the left. |
30 | And in the top right corner of month view/agenda view | 32 | And in the top right corner of month view/agenda view |
31 | there is now a "week number quick selector". | 33 | there is now a "week number quick selector". |
32 | (Click on the black triangle). | 34 | (Click on the black triangle). |
33 | 35 | ||
34 | Made the quite difficult timezone change in KO/Pi easy. | 36 | Made the quite difficult timezone change in KO/Pi easy. |
35 | 37 | ||
36 | OM/Pi: | 38 | OM/Pi: |
37 | Fixed too small icons on desktop. | 39 | Fixed too small icons on desktop. |
38 | Fixed non visible icons in mainwindow on Z with fastload enabled. | 40 | Fixed non visible icons in mainwindow on Z with fastload enabled. |
39 | Added signature file setting to smtp account config. | 41 | Added signature file setting to smtp account config. |
40 | And the signature can be edited and saved in the edit mail dialog. | 42 | And the signature can be edited and saved in the edit mail dialog. |
41 | That does mean: | 43 | That does mean: |
42 | Simply edit the signature for the selected smtp account in the | 44 | Simply edit the signature for the selected smtp account in the |
43 | edit new mail dialog and press the "save signature" button there. | 45 | edit new mail dialog and press the "save signature" button there. |
44 | Then the signature is saved to the file specified in the smtp account settings. | 46 | Then the signature is saved to the file specified in the smtp account settings. |
45 | If there is no file specified, it is saved automatically to the file | 47 | If there is no file specified, it is saved automatically to the file |
46 | kdepim/apps/kopiemail/<accountname>.sig. | 48 | kdepim/apps/kopiemail/<accountname>.sig. |
47 | 49 | ||
48 | 50 | ||
49 | 51 | ||
50 | ********** VERSION 2.0.1 ************ | 52 | ********** VERSION 2.0.1 ************ |
51 | 53 | ||
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index 03a8f1c..1a1bce5 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp | |||
@@ -567,65 +567,65 @@ void KOTodoView::jumpToDate () | |||
567 | // mActiveItem->todo()); | 567 | // mActiveItem->todo()); |
568 | // if ( mActiveItem->todo()->hasDueDate() ) | 568 | // if ( mActiveItem->todo()->hasDueDate() ) |
569 | // emit mActiveItem->todo()jumpToTime( mTodo->dtDue().date() ); | 569 | // emit mActiveItem->todo()jumpToTime( mTodo->dtDue().date() ); |
570 | } | 570 | } |
571 | void KOTodoView::paintNeeded() | 571 | void KOTodoView::paintNeeded() |
572 | { | 572 | { |
573 | if ( mPendingUpdateBeforeRepaint ) { | 573 | if ( mPendingUpdateBeforeRepaint ) { |
574 | updateView(); | 574 | updateView(); |
575 | mPendingUpdateBeforeRepaint = false; | 575 | mPendingUpdateBeforeRepaint = false; |
576 | } | 576 | } |
577 | } | 577 | } |
578 | void KOTodoView::paintEvent(QPaintEvent * pevent) | 578 | void KOTodoView::paintEvent(QPaintEvent * pevent) |
579 | { | 579 | { |
580 | if ( mPendingUpdateBeforeRepaint ) { | 580 | if ( mPendingUpdateBeforeRepaint ) { |
581 | updateView(); | 581 | updateView(); |
582 | mPendingUpdateBeforeRepaint = false; | 582 | mPendingUpdateBeforeRepaint = false; |
583 | } | 583 | } |
584 | KOrg::BaseView::paintEvent( pevent); | 584 | KOrg::BaseView::paintEvent( pevent); |
585 | } | 585 | } |
586 | 586 | ||
587 | void KOTodoView::updateView() | 587 | void KOTodoView::updateView() |
588 | { | 588 | { |
589 | pendingSubtodo = 0; | 589 | pendingSubtodo = 0; |
590 | if ( mBlockUpdate ) { | 590 | if ( mBlockUpdate ) { |
591 | return; | 591 | return; |
592 | } | 592 | } |
593 | if ( !isVisible() ) { | 593 | if ( !isVisible() ) { |
594 | mPendingUpdateBeforeRepaint = true; | 594 | mPendingUpdateBeforeRepaint = true; |
595 | return; | 595 | return; |
596 | } | 596 | } |
597 | //qDebug("KOTodoView::updateView() %x", this); | 597 | //qDebug("KOTodoView::updateView() %x", this); |
598 | if ( isFlatDisplay ) { | 598 | if ( isFlatDisplay ) { |
599 | setAllFlat(); | 599 | displayAllFlat(); |
600 | return; | 600 | return; |
601 | } | 601 | } |
602 | //qDebug("update "); | 602 | //qDebug("update "); |
603 | // kdDebug() << "KOTodoView::updateView()" << endl; | 603 | // kdDebug() << "KOTodoView::updateView()" << endl; |
604 | QFont fo = KOPrefs::instance()->mTodoViewFont; | 604 | QFont fo = KOPrefs::instance()->mTodoViewFont; |
605 | mTodoListView->clear(); | 605 | mTodoListView->clear(); |
606 | if ( mName == "todolistsmall" ) { | 606 | if ( mName == "todolistsmall" ) { |
607 | if ( KOPrefs::instance()->mTodoViewUsesSmallFont ) { | 607 | if ( KOPrefs::instance()->mTodoViewUsesSmallFont ) { |
608 | int ps = fo.pointSize() -2; | 608 | int ps = fo.pointSize() -2; |
609 | if ( ps > 12 ) | 609 | if ( ps > 12 ) |
610 | ps -= 2; | 610 | ps -= 2; |
611 | fo.setPointSize( ps ); | 611 | fo.setPointSize( ps ); |
612 | } | 612 | } |
613 | } | 613 | } |
614 | 614 | ||
615 | mTodoListView->setFont( fo ); | 615 | mTodoListView->setFont( fo ); |
616 | // QFontMetrics fm ( KOPrefs::instance()->mTodoViewFont ); | 616 | // QFontMetrics fm ( KOPrefs::instance()->mTodoViewFont ); |
617 | //mTodoListView->header()->setMaximumHeight(fm.height()); | 617 | //mTodoListView->header()->setMaximumHeight(fm.height()); |
618 | QPtrList<Todo> todoList = calendar()->todos(); | 618 | QPtrList<Todo> todoList = calendar()->todos(); |
619 | 619 | ||
620 | /* | 620 | /* |
621 | kdDebug() << "KOTodoView::updateView(): Todo List:" << endl; | 621 | kdDebug() << "KOTodoView::updateView(): Todo List:" << endl; |
622 | Event *t; | 622 | Event *t; |
623 | for(t = todoList.first(); t; t = todoList.next()) { | 623 | for(t = todoList.first(); t; t = todoList.next()) { |
624 | kdDebug() << " " << t->getSummary() << endl; | 624 | kdDebug() << " " << t->getSummary() << endl; |
625 | 625 | ||
626 | if (t->getRelatedTo()) { | 626 | if (t->getRelatedTo()) { |
627 | kdDebug() << " (related to " << t->getRelatedTo()->getSummary() << ")" << endl; | 627 | kdDebug() << " (related to " << t->getRelatedTo()->getSummary() << ")" << endl; |
628 | } | 628 | } |
629 | 629 | ||
630 | QPtrList<Event> l = t->getRelations(); | 630 | QPtrList<Event> l = t->getRelations(); |
631 | Event *c; | 631 | Event *c; |
@@ -1094,90 +1094,95 @@ void KOTodoView::setTodoModified( Todo* todo ) | |||
1094 | void KOTodoView::clearSelection() | 1094 | void KOTodoView::clearSelection() |
1095 | { | 1095 | { |
1096 | mTodoListView->selectAll( false ); | 1096 | mTodoListView->selectAll( false ); |
1097 | } | 1097 | } |
1098 | void KOTodoView::setAllOpen() | 1098 | void KOTodoView::setAllOpen() |
1099 | { | 1099 | { |
1100 | if ( isFlatDisplay ) { | 1100 | if ( isFlatDisplay ) { |
1101 | isFlatDisplay = false; | 1101 | isFlatDisplay = false; |
1102 | mPopupMenu->setItemChecked( 8,false ); | 1102 | mPopupMenu->setItemChecked( 8,false ); |
1103 | updateView(); | 1103 | updateView(); |
1104 | } | 1104 | } |
1105 | setOpen(mTodoListView->firstChild(), true); | 1105 | setOpen(mTodoListView->firstChild(), true); |
1106 | } | 1106 | } |
1107 | void KOTodoView::setAllClose() | 1107 | void KOTodoView::setAllClose() |
1108 | { | 1108 | { |
1109 | if ( isFlatDisplay ) { | 1109 | if ( isFlatDisplay ) { |
1110 | isFlatDisplay = false; | 1110 | isFlatDisplay = false; |
1111 | mPopupMenu->setItemChecked( 8,false ); | 1111 | mPopupMenu->setItemChecked( 8,false ); |
1112 | updateView(); | 1112 | updateView(); |
1113 | } | 1113 | } |
1114 | setOpen(mTodoListView->firstChild(), false); | 1114 | setOpen(mTodoListView->firstChild(), false); |
1115 | } | 1115 | } |
1116 | void KOTodoView::setOpen( QListViewItem* item, bool setOpenI) | 1116 | void KOTodoView::setOpen( QListViewItem* item, bool setOpenI) |
1117 | { | 1117 | { |
1118 | 1118 | ||
1119 | while ( item ) { | 1119 | while ( item ) { |
1120 | setOpen( item->firstChild(), setOpenI ); | 1120 | setOpen( item->firstChild(), setOpenI ); |
1121 | item->setOpen( setOpenI ); | 1121 | item->setOpen( setOpenI ); |
1122 | item = item->nextSibling(); | 1122 | item = item->nextSibling(); |
1123 | } | 1123 | } |
1124 | } | 1124 | } |
1125 | 1125 | ||
1126 | void KOTodoView::setAllFlat() | 1126 | void KOTodoView::displayAllFlat() |
1127 | { | 1127 | { |
1128 | if ( isFlatDisplay ) { | ||
1129 | isFlatDisplay = false; | ||
1130 | mPopupMenu->setItemChecked( 8,false ); | ||
1131 | updateView(); | ||
1132 | return; | ||
1133 | } | ||
1134 | pendingSubtodo = 0; | 1128 | pendingSubtodo = 0; |
1135 | if ( mBlockUpdate ) { | 1129 | if ( mBlockUpdate ) { |
1136 | return; | 1130 | return; |
1137 | } | 1131 | } |
1138 | mPopupMenu->setItemChecked( 8,true ); | 1132 | mPopupMenu->setItemChecked( 8,true ); |
1139 | isFlatDisplay = true; | 1133 | isFlatDisplay = true; |
1140 | QPtrList<Todo> todoList = calendar()->todos(); | 1134 | QPtrList<Todo> todoList = calendar()->todos(); |
1141 | mTodoMap.clear(); | 1135 | mTodoMap.clear(); |
1142 | mTodoListView->clear(); | 1136 | mTodoListView->clear(); |
1143 | Todo *todo; | 1137 | Todo *todo; |
1144 | for(todo = todoList.first(); todo; todo = todoList.next()) { | 1138 | for(todo = todoList.first(); todo; todo = todoList.next()) { |
1145 | KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this); | 1139 | KOTodoViewItem *todoItem = new KOTodoViewItem(mTodoListView,todo,this); |
1146 | mTodoMap.insert(todo,todoItem); | 1140 | mTodoMap.insert(todo,todoItem); |
1147 | } | 1141 | } |
1148 | mTodoListView->setFocus(); | 1142 | mTodoListView->setFocus(); |
1149 | processSelectionChange(); | 1143 | processSelectionChange(); |
1150 | } | 1144 | } |
1151 | 1145 | ||
1146 | void KOTodoView::setAllFlat() | ||
1147 | { | ||
1148 | if ( isFlatDisplay ) { | ||
1149 | isFlatDisplay = false; | ||
1150 | mPopupMenu->setItemChecked( 8,false ); | ||
1151 | updateView(); | ||
1152 | return; | ||
1153 | } | ||
1154 | displayAllFlat(); | ||
1155 | } | ||
1156 | |||
1152 | void KOTodoView::purgeCompleted() | 1157 | void KOTodoView::purgeCompleted() |
1153 | { | 1158 | { |
1154 | emit purgeCompletedSignal(); | 1159 | emit purgeCompletedSignal(); |
1155 | } | 1160 | } |
1156 | void KOTodoView::toggleQuickTodo() | 1161 | void KOTodoView::toggleQuickTodo() |
1157 | { | 1162 | { |
1158 | if ( mQuickAdd->isVisible() ) { | 1163 | if ( mQuickAdd->isVisible() ) { |
1159 | mQuickAdd->hide(); | 1164 | mQuickAdd->hide(); |
1160 | KOPrefs::instance()->mEnableQuickTodo = false; | 1165 | KOPrefs::instance()->mEnableQuickTodo = false; |
1161 | } | 1166 | } |
1162 | else { | 1167 | else { |
1163 | mQuickAdd->show(); | 1168 | mQuickAdd->show(); |
1164 | KOPrefs::instance()->mEnableQuickTodo = true; | 1169 | KOPrefs::instance()->mEnableQuickTodo = true; |
1165 | } | 1170 | } |
1166 | mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo); | 1171 | mPopupMenu->setItemChecked(4,KOPrefs::instance()->mEnableQuickTodo); |
1167 | mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo ); | 1172 | mItemPopupMenu->setItemChecked( 34 , KOPrefs::instance()->mEnableQuickTodo ); |
1168 | } | 1173 | } |
1169 | 1174 | ||
1170 | void KOTodoView::toggleRunning() | 1175 | void KOTodoView::toggleRunning() |
1171 | { | 1176 | { |
1172 | KOPrefs::instance()->mHideNonStartedTodos = !KOPrefs::instance()->mHideNonStartedTodos; | 1177 | KOPrefs::instance()->mHideNonStartedTodos = !KOPrefs::instance()->mHideNonStartedTodos; |
1173 | mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos); | 1178 | mPopupMenu->setItemChecked(5,KOPrefs::instance()->mHideNonStartedTodos); |
1174 | mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos ); | 1179 | mItemPopupMenu->setItemChecked( 35 , KOPrefs::instance()->mHideNonStartedTodos ); |
1175 | updateView(); | 1180 | updateView(); |
1176 | } | 1181 | } |
1177 | 1182 | ||
1178 | void KOTodoView::toggleCompleted() | 1183 | void KOTodoView::toggleCompleted() |
1179 | { | 1184 | { |
1180 | KOPrefs::instance()->mShowCompletedTodo = !KOPrefs::instance()->mShowCompletedTodo; | 1185 | KOPrefs::instance()->mShowCompletedTodo = !KOPrefs::instance()->mShowCompletedTodo; |
1181 | mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo ); | 1186 | mPopupMenu->setItemChecked( 3,KOPrefs::instance()->mShowCompletedTodo ); |
1182 | mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo ); | 1187 | mItemPopupMenu->setItemChecked( 33 , KOPrefs::instance()->mShowCompletedTodo ); |
1183 | updateView(); | 1188 | updateView(); |
diff --git a/korganizer/kotodoview.h b/korganizer/kotodoview.h index 1642132..462f0a6 100644 --- a/korganizer/kotodoview.h +++ b/korganizer/kotodoview.h | |||
@@ -141,64 +141,65 @@ class KOTodoView : public KOrg::BaseView | |||
141 | void updateConfig(); | 141 | void updateConfig(); |
142 | 142 | ||
143 | void changeEventDisplay(Event *, int); | 143 | void changeEventDisplay(Event *, int); |
144 | 144 | ||
145 | void showDates(const QDate &start, const QDate &end); | 145 | void showDates(const QDate &start, const QDate &end); |
146 | void showEvents(QPtrList<Event> eventList); | 146 | void showEvents(QPtrList<Event> eventList); |
147 | 147 | ||
148 | void clearSelection(); | 148 | void clearSelection(); |
149 | void jumpToDate (); | 149 | void jumpToDate (); |
150 | 150 | ||
151 | void editItem(QListViewItem *item); | 151 | void editItem(QListViewItem *item); |
152 | void showItem(QListViewItem *item,const QPoint &,int); | 152 | void showItem(QListViewItem *item,const QPoint &,int); |
153 | void popupMenu(QListViewItem *item,const QPoint &,int); | 153 | void popupMenu(QListViewItem *item,const QPoint &,int); |
154 | void newTodo(); | 154 | void newTodo(); |
155 | void newSubTodo(); | 155 | void newSubTodo(); |
156 | void unparentTodo(); | 156 | void unparentTodo(); |
157 | void reparentTodo(); | 157 | void reparentTodo(); |
158 | void showTodo(); | 158 | void showTodo(); |
159 | void editTodo(); | 159 | void editTodo(); |
160 | void cloneTodo(); | 160 | void cloneTodo(); |
161 | void cancelTodo(); | 161 | void cancelTodo(); |
162 | void moveTodo(); | 162 | void moveTodo(); |
163 | void beamTodo(); | 163 | void beamTodo(); |
164 | void deleteTodo(); | 164 | void deleteTodo(); |
165 | 165 | ||
166 | void setNewPriority(int); | 166 | void setNewPriority(int); |
167 | void setNewPercentage(int); | 167 | void setNewPercentage(int); |
168 | void changedCategories(int); | 168 | void changedCategories(int); |
169 | 169 | ||
170 | void setAllOpen(); | 170 | void setAllOpen(); |
171 | void setAllClose(); | 171 | void setAllClose(); |
172 | void setAllFlat(); | 172 | void setAllFlat(); |
173 | void displayAllFlat(); | ||
173 | 174 | ||
174 | void purgeCompleted(); | 175 | void purgeCompleted(); |
175 | void toggleCompleted(); | 176 | void toggleCompleted(); |
176 | void toggleRunning(); | 177 | void toggleRunning(); |
177 | void toggleQuickTodo(); | 178 | void toggleQuickTodo(); |
178 | void updateTodo( Todo *, int ); | 179 | void updateTodo( Todo *, int ); |
179 | 180 | ||
180 | void itemClicked(QListViewItem *); | 181 | void itemClicked(QListViewItem *); |
181 | void itemStateChanged(QListViewItem *); | 182 | void itemStateChanged(QListViewItem *); |
182 | void modified(bool); | 183 | void modified(bool); |
183 | void itemDoubleClicked(QListViewItem *item); | 184 | void itemDoubleClicked(QListViewItem *item); |
184 | 185 | ||
185 | signals: | 186 | signals: |
186 | void newTodoSignal(); | 187 | void newTodoSignal(); |
187 | void newSubTodoSignal(Todo *); | 188 | void newSubTodoSignal(Todo *); |
188 | void unparentTodoSignal(Todo *); | 189 | void unparentTodoSignal(Todo *); |
189 | void reparentTodoSignal( Todo *,Todo * ); | 190 | void reparentTodoSignal( Todo *,Todo * ); |
190 | void showTodoSignal(Todo *); | 191 | void showTodoSignal(Todo *); |
191 | 192 | ||
192 | void editTodoSignal(Todo *); | 193 | void editTodoSignal(Todo *); |
193 | void deleteTodoSignal(Todo *); | 194 | void deleteTodoSignal(Todo *); |
194 | void todoModifiedSignal (Todo *, int); | 195 | void todoModifiedSignal (Todo *, int); |
195 | 196 | ||
196 | void isModified(bool); | 197 | void isModified(bool); |
197 | void cloneTodoSignal( Incidence * ); | 198 | void cloneTodoSignal( Incidence * ); |
198 | void cancelTodoSignal( Incidence * ); | 199 | void cancelTodoSignal( Incidence * ); |
199 | void moveTodoSignal( Incidence * ); | 200 | void moveTodoSignal( Incidence * ); |
200 | void beamTodoSignal( Incidence * ); | 201 | void beamTodoSignal( Incidence * ); |
201 | void purgeCompletedSignal(); | 202 | void purgeCompletedSignal(); |
202 | 203 | ||
203 | protected slots: | 204 | protected slots: |
204 | void paintNeeded(); | 205 | void paintNeeded(); |