summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2005-02-04 23:05:50 (UTC)
committer zautrix <zautrix>2005-02-04 23:05:50 (UTC)
commitc6dceabcb41f6300ca97e69872fc801451944a32 (patch) (unidiff)
tree40a47b4c306329f47645f1ac7f2bc9420a67066c /korganizer
parent53099ae3a9ef02549536dab3dd6870b7a2874284 (diff)
downloadkdepimpi-c6dceabcb41f6300ca97e69872fc801451944a32.zip
kdepimpi-c6dceabcb41f6300ca97e69872fc801451944a32.tar.gz
kdepimpi-c6dceabcb41f6300ca97e69872fc801451944a32.tar.bz2
nochn fixxx
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/kotodoview.cpp21
-rw-r--r--korganizer/kotodoview.h1
2 files changed, 14 insertions, 8 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index 03a8f1c..1a1bce5 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -551,97 +551,97 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
551KOTodoView::~KOTodoView() 551KOTodoView::~KOTodoView()
552{ 552{
553 delete mDocPrefs; 553 delete mDocPrefs;
554} 554}
555QString KOTodoView::getWhatsThisText(QPoint p) 555QString KOTodoView::getWhatsThisText(QPoint p)
556{ 556{
557 KOTodoViewItem* item = ( KOTodoViewItem* ) mTodoListView->itemAt( p ); 557 KOTodoViewItem* item = ( KOTodoViewItem* ) mTodoListView->itemAt( p );
558 if ( item ) 558 if ( item )
559 return KIncidenceFormatter::instance()->getFormattedText( item->todo() ); 559 return KIncidenceFormatter::instance()->getFormattedText( item->todo() );
560 return i18n("That is the todo view" ); 560 return i18n("That is the todo view" );
561 561
562} 562}
563 563
564void KOTodoView::jumpToDate () 564void KOTodoView::jumpToDate ()
565{ 565{
566 // if (mActiveItem) { 566 // if (mActiveItem) {
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}
571void KOTodoView::paintNeeded() 571void KOTodoView::paintNeeded()
572{ 572{
573 if ( mPendingUpdateBeforeRepaint ) { 573 if ( mPendingUpdateBeforeRepaint ) {
574 updateView(); 574 updateView();
575 mPendingUpdateBeforeRepaint = false; 575 mPendingUpdateBeforeRepaint = false;
576 } 576 }
577} 577}
578void KOTodoView::paintEvent(QPaintEvent * pevent) 578void 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
587void KOTodoView::updateView() 587void 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;
632 for(c=l.first();c;c=l.next()) { 632 for(c=l.first();c;c=l.next()) {
633 kdDebug() << " - relation: " << c->getSummary() << endl; 633 kdDebug() << " - relation: " << c->getSummary() << endl;
634 } 634 }
635 } 635 }
636*/ 636*/
637 637
638 // Put for each Event a KOTodoViewItem in the list view. Don't rely on a 638 // Put for each Event a KOTodoViewItem in the list view. Don't rely on a
639 // specific order of events. That means that we have to generate parent items 639 // specific order of events. That means that we have to generate parent items
640 // recursively for proper hierarchical display of Todos. 640 // recursively for proper hierarchical display of Todos.
641 mTodoMap.clear(); 641 mTodoMap.clear();
642 Todo *todo; 642 Todo *todo;
643 todo = todoList.first();// todo; todo = todoList.next()) { 643 todo = todoList.first();// todo; todo = todoList.next()) {
644 while ( todo ) { 644 while ( todo ) {
645 bool next = true; 645 bool next = true;
646 // qDebug("todo %s ", todo->summary().latin1()); 646 // qDebug("todo %s ", todo->summary().latin1());
647 Incidence *incidence = todo->relatedTo(); 647 Incidence *incidence = todo->relatedTo();
@@ -1078,122 +1078,127 @@ void KOTodoView::processSelectionChange()
1078 1078
1079 if ( !item ) { 1079 if ( !item ) {
1080 emit incidenceSelected( 0 ); 1080 emit incidenceSelected( 0 );
1081 } else { 1081 } else {
1082 emit incidenceSelected( item->todo() ); 1082 emit incidenceSelected( item->todo() );
1083 } 1083 }
1084} 1084}
1085 1085
1086void KOTodoView::modified(bool b) 1086void KOTodoView::modified(bool b)
1087{ 1087{
1088 emit isModified(b); 1088 emit isModified(b);
1089} 1089}
1090void KOTodoView::setTodoModified( Todo* todo ) 1090void KOTodoView::setTodoModified( Todo* todo )
1091{ 1091{
1092 todoModified( todo, KOGlobals::UNKNOWN_MODIFIED ); 1092 todoModified( todo, KOGlobals::UNKNOWN_MODIFIED );
1093} 1093}
1094void KOTodoView::clearSelection() 1094void KOTodoView::clearSelection()
1095{ 1095{
1096 mTodoListView->selectAll( false ); 1096 mTodoListView->selectAll( false );
1097} 1097}
1098void KOTodoView::setAllOpen() 1098void 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}
1107void KOTodoView::setAllClose() 1107void 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}
1116void KOTodoView::setOpen( QListViewItem* item, bool setOpenI) 1116void 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
1126void KOTodoView::setAllFlat() 1126void 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
1146void KOTodoView::setAllFlat()
1147{
1148 if ( isFlatDisplay ) {
1149 isFlatDisplay = false;
1150 mPopupMenu->setItemChecked( 8,false );
1151 updateView();
1152 return;
1153 }
1154 displayAllFlat();
1155}
1156
1152void KOTodoView::purgeCompleted() 1157void KOTodoView::purgeCompleted()
1153{ 1158{
1154 emit purgeCompletedSignal(); 1159 emit purgeCompletedSignal();
1155} 1160}
1156void KOTodoView::toggleQuickTodo() 1161void 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
1170void KOTodoView::toggleRunning() 1175void 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
1178void KOTodoView::toggleCompleted() 1183void 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();
1184} 1189}
1185 1190
1186void KOTodoView::addQuickTodo() 1191void KOTodoView::addQuickTodo()
1187{ 1192{
1188 Todo *todo = new Todo(); 1193 Todo *todo = new Todo();
1189 todo->setSummary(mQuickAdd->text()); 1194 todo->setSummary(mQuickAdd->text());
1190 todo->setOrganizer(KOPrefs::instance()->email()); 1195 todo->setOrganizer(KOPrefs::instance()->email());
1191 CalFilter * cf = mCalendar->filter(); 1196 CalFilter * cf = mCalendar->filter();
1192 if ( cf ) { 1197 if ( cf ) {
1193 if ( cf->isEnabled()&& cf->showCategories()) { 1198 if ( cf->isEnabled()&& cf->showCategories()) {
1194 todo->setCategories(cf->categoryList()); 1199 todo->setCategories(cf->categoryList());
1195 } 1200 }
1196 if ( cf->isEnabled() ) 1201 if ( cf->isEnabled() )
1197 todo->setSecrecy( cf->getSecrecy()); 1202 todo->setSecrecy( cf->getSecrecy());
1198 } 1203 }
1199 mCalendar->addTodo(todo); 1204 mCalendar->addTodo(todo);
diff --git a/korganizer/kotodoview.h b/korganizer/kotodoview.h
index 1642132..462f0a6 100644
--- a/korganizer/kotodoview.h
+++ b/korganizer/kotodoview.h
@@ -125,96 +125,97 @@ class KOTodoView : public KOrg::BaseView
125 /** Return number of shown dates. TodoView does not show dates, */ 125 /** Return number of shown dates. TodoView does not show dates, */
126 int currentDateCount() { return 0; } 126 int currentDateCount() { return 0; }
127 127
128 void printPreview(CalPrinter *calPrinter, const QDate &fd, const QDate &td); 128 void printPreview(CalPrinter *calPrinter, const QDate &fd, const QDate &td);
129 129
130 void setDocumentId( const QString & ); 130 void setDocumentId( const QString & );
131 131
132 void saveLayout(KConfig *config, const QString &group) const; 132 void saveLayout(KConfig *config, const QString &group) const;
133 void restoreLayout(KConfig *config, const QString &group); 133 void restoreLayout(KConfig *config, const QString &group);
134 /** Create a popup menu to set categories */ 134 /** Create a popup menu to set categories */
135 QPopupMenu *getCategoryPopupMenu (KOTodoViewItem *todoItem); 135 QPopupMenu *getCategoryPopupMenu (KOTodoViewItem *todoItem);
136 void setNavigator( DateNavigator* nav ) {mNavigator = nav;} 136 void setNavigator( DateNavigator* nav ) {mNavigator = nav;}
137 QString getWhatsThisText(QPoint p); 137 QString getWhatsThisText(QPoint p);
138 138
139 public slots: 139 public slots:
140 void updateView(); 140 void updateView();
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();
205 void processSelectionChange(); 206 void processSelectionChange();
206 void addQuickTodo(); 207 void addQuickTodo();
207 void setTodoModified( Todo* ); 208 void setTodoModified( Todo* );
208 void todoModified(Todo *, int ); 209 void todoModified(Todo *, int );
209 210
210 private: 211 private:
211 /* 212 /*
212 * the TodoEditor approach is rather unscaling in the long 213 * the TodoEditor approach is rather unscaling in the long
213 * run. 214 * run.
214 * Korganizer keeps it in memory and we need to update 215 * Korganizer keeps it in memory and we need to update
215 * 1. make KOTodoViewItem a QObject again? 216 * 1. make KOTodoViewItem a QObject again?
216 * 2. add a public method for setting one todo modified? 217 * 2. add a public method for setting one todo modified?
217 * 3. add a private method for setting a todo modified + friend here? 218 * 3. add a private method for setting a todo modified + friend here?
218 * -- zecke 2002-07-08 219 * -- zecke 2002-07-08
219 */ 220 */
220 friend class KOTodoListView; 221 friend class KOTodoListView;