author | zecke <zecke> | 2002-04-13 16:28:40 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-04-13 16:28:40 (UTC) |
commit | 1eb54898047fab3963debe51fa3e570b361a1215 (patch) (unidiff) | |
tree | 7ba017af1f2807d9710577817e4a13876900a0a7 /core/pim | |
parent | def870c6fcccf2b20d7ce3821055391b18243a24 (diff) | |
download | opie-1eb54898047fab3963debe51fa3e570b361a1215.zip opie-1eb54898047fab3963debe51fa3e570b361a1215.tar.gz opie-1eb54898047fab3963debe51fa3e570b361a1215.tar.bz2 |
move to multiple categories + patch from Stefan Eilers to show the due date
-rw-r--r-- | core/pim/todo/mainwindow.cpp | 23 | ||||
-rw-r--r-- | core/pim/todo/mainwindow.h | 7 | ||||
-rw-r--r-- | core/pim/todo/todoentryimpl.cpp | 8 | ||||
-rw-r--r-- | core/pim/todo/todotable.cpp | 68 | ||||
-rw-r--r-- | core/pim/todo/todotable.h | 22 |
5 files changed, 119 insertions, 9 deletions
diff --git a/core/pim/todo/mainwindow.cpp b/core/pim/todo/mainwindow.cpp index f3afa5f..33f13aa 100644 --- a/core/pim/todo/mainwindow.cpp +++ b/core/pim/todo/mainwindow.cpp | |||
@@ -2,2 +2,4 @@ | |||
2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | 2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. |
3 | Copyright (C) 2002 zecke | ||
4 | Copyright (C) 2002 Stefan Eilers | ||
3 | ** | 5 | ** |
@@ -109,2 +111,7 @@ TodoWindow::TodoWindow( QWidget *parent, const char *name, WFlags f = 0 ) : | |||
109 | table->setShowCompleted( complete ); | 111 | table->setShowCompleted( complete ); |
112 | |||
113 | /* added 20.01.2k2 by se */ | ||
114 | bool showdeadline = config.readBoolEntry("ShowDeadLine", true); | ||
115 | table->setShowDeadline (showdeadline); | ||
116 | |||
110 | QString category = config.readEntry( "Category", QString::null ); | 117 | QString category = config.readEntry( "Category", QString::null ); |
@@ -176,2 +183,5 @@ TodoWindow::TodoWindow( QWidget *parent, const char *name, WFlags f = 0 ) : | |||
176 | 183 | ||
184 | /* added 20.01.2k2 by se */ | ||
185 | showdeadlineAction = new QAction( QString::null, tr( "Show Deadline" ), 0, this, 0, TRUE ); | ||
186 | |||
177 | catMenu->setCheckable( true ); | 187 | catMenu->setCheckable( true ); |
@@ -197,2 +207,3 @@ TodoWindow::TodoWindow( QWidget *parent, const char *name, WFlags f = 0 ) : | |||
197 | connect( completedAction, SIGNAL( toggled(bool) ), this, SLOT( showCompleted(bool) ) ); | 207 | connect( completedAction, SIGNAL( toggled(bool) ), this, SLOT( showCompleted(bool) ) ); |
208 | connect( showdeadlineAction, SIGNAL( toggled(bool) ), this, SLOT( showDeadline(bool) ) ); | ||
198 | connect( catMenu, SIGNAL(activated(int)), this, SLOT(setCategory(int)) ); | 209 | connect( catMenu, SIGNAL(activated(int)), this, SLOT(setCategory(int)) ); |
@@ -353,2 +364,4 @@ void TodoWindow::populateCategories() | |||
353 | completedAction->setOn( table->showCompleted() ); | 364 | completedAction->setOn( table->showCompleted() ); |
365 | showdeadlineAction->addTo( catMenu ); | ||
366 | showdeadlineAction->setOn( table->showDeadline() ); | ||
354 | 367 | ||
@@ -404,2 +417,4 @@ void TodoWindow::closeEvent( QCloseEvent *e ) | |||
404 | config.writeEntry( "Category", table->showCategory() ); | 417 | config.writeEntry( "Category", table->showCategory() ); |
418 | /* added 20.01.2k2 by se */ | ||
419 | config.writeEntry( "ShowDeadLine", table->showDeadline()); | ||
405 | } else { | 420 | } else { |
@@ -475 +490,9 @@ void TodoWindow::beamDone( Ir *ir ) | |||
475 | } | 490 | } |
491 | |||
492 | /* added 20.01.2k2 by se */ | ||
493 | void TodoWindow::showDeadline( bool s ) | ||
494 | { | ||
495 | table->setPaintingEnabled( false ); | ||
496 | table->setShowDeadline( s ); | ||
497 | table->setPaintingEnabled( true ); | ||
498 | } | ||
diff --git a/core/pim/todo/mainwindow.h b/core/pim/todo/mainwindow.h index 856dcb4..a81c27c 100644 --- a/core/pim/todo/mainwindow.h +++ b/core/pim/todo/mainwindow.h | |||
@@ -49,2 +49,6 @@ protected slots: | |||
49 | void showCompleted( bool ); | 49 | void showCompleted( bool ); |
50 | |||
51 | /* added 20.01.2k2 by se */ | ||
52 | void showDeadline( bool ); | ||
53 | |||
50 | void currentEntryChanged( int r, int c ); | 54 | void currentEntryChanged( int r, int c ); |
@@ -67,3 +71,4 @@ private: | |||
67 | *findAction, | 71 | *findAction, |
68 | * completedAction; | 72 | * completedAction, |
73 | *showdeadlineAction ; | ||
69 | QPopupMenu *contextMenu, *catMenu; | 74 | QPopupMenu *contextMenu, *catMenu; |
diff --git a/core/pim/todo/todoentryimpl.cpp b/core/pim/todo/todoentryimpl.cpp index 1dc1d44..f938d61 100644 --- a/core/pim/todo/todoentryimpl.cpp +++ b/core/pim/todo/todoentryimpl.cpp | |||
@@ -50,3 +50,3 @@ NewTaskDialog::NewTaskDialog( const ToDoEvent& task, QWidget *parent, | |||
50 | qWarning("setting category" ); | 50 | qWarning("setting category" ); |
51 | todo.setCategory( task.category() ); | 51 | todo.setCategories( task.allCategories() ); |
52 | if ( todo.hasDate() ) | 52 | if ( todo.hasDate() ) |
@@ -130,6 +130,6 @@ ToDoEvent NewTaskDialog::todoEntry() | |||
130 | QArray<int> arr = comboCategory->currentCategories(); | 130 | QArray<int> arr = comboCategory->currentCategories(); |
131 | int id = arr[0]; | 131 | QStringList list; |
132 | qWarning("id 0: %d",id ); | 132 | list = QStringList::split(";", Qtopia::Record::idsToString( arr )) ; |
133 | todo.setCategory( Qtopia::Record::idsToString( arr ) ); | ||
134 | qWarning("saving category"); | 133 | qWarning("saving category"); |
134 | todo.setCategories( list ); | ||
135 | } | 135 | } |
diff --git a/core/pim/todo/todotable.cpp b/core/pim/todo/todotable.cpp index 2bb95a2..3cd0c0e 100644 --- a/core/pim/todo/todotable.cpp +++ b/core/pim/todo/todotable.cpp | |||
@@ -19,3 +19,4 @@ | |||
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | /* Show Deadline was added by Stefan Eilers (se, eilers.stefan@epost.de) | |
21 | */ | ||
21 | #include "todotable.h" | 22 | #include "todotable.h" |
@@ -40,2 +41,4 @@ | |||
40 | 41 | ||
42 | #include <stdio.h> | ||
43 | |||
41 | 44 | ||
@@ -166,3 +169,3 @@ TodoTable::TodoTable( QWidget *parent, const char *name ) | |||
166 | // #else | 169 | // #else |
167 | : QTable( 0, 3, parent, name ), | 170 | : QTable( 0, 4, parent, name ), |
168 | // #endif | 171 | // #endif |
@@ -171,3 +174,4 @@ TodoTable::TodoTable( QWidget *parent, const char *name ) | |||
171 | mCat( 0 ), | 174 | mCat( 0 ), |
172 | currFindRow( -2 ) | 175 | currFindRow( -2 ), |
176 | showDeadl( true) | ||
173 | { | 177 | { |
@@ -179,2 +183,3 @@ TodoTable::TodoTable( QWidget *parent, const char *name ) | |||
179 | setColumnWidth( 1, 35 ); | 183 | setColumnWidth( 1, 35 ); |
184 | |||
180 | setLeftMargin( 0 ); | 185 | setLeftMargin( 0 ); |
@@ -184,2 +189,13 @@ TodoTable::TodoTable( QWidget *parent, const char *name ) | |||
184 | horizontalHeader()->setLabel( 2, tr( "Description" ) ); | 189 | horizontalHeader()->setLabel( 2, tr( "Description" ) ); |
190 | |||
191 | setColumnStretchable( 3, FALSE ); | ||
192 | setColumnWidth( 3, 20 ); | ||
193 | horizontalHeader()->setLabel( 3, tr( "Deadline" ) ); | ||
194 | |||
195 | if (showDeadl){ | ||
196 | showColumn (3); | ||
197 | }else{ | ||
198 | hideColumn (3); | ||
199 | } | ||
200 | |||
185 | connect( this, SIGNAL( clicked( int, int, int, const QPoint & ) ), | 201 | connect( this, SIGNAL( clicked( int, int, int, const QPoint & ) ), |
@@ -236,2 +252,7 @@ void TodoTable::slotClicked( int row, int col, int, const QPoint &pos ) | |||
236 | break; | 252 | break; |
253 | case 3: /* added 20.01.2k2 by se */ | ||
254 | // may as well edit it... | ||
255 | menuTimer->stop(); | ||
256 | emit signalEdit(); | ||
257 | break; | ||
237 | } | 258 | } |
@@ -267,2 +288,4 @@ ToDoEvent TodoTable::currentEntry() const | |||
267 | { | 288 | { |
289 | printf ("in currentEntry\n"); | ||
290 | |||
268 | QTableItem *i = item( currentRow(), 0 ); | 291 | QTableItem *i = item( currentRow(), 0 ); |
@@ -356,2 +379,11 @@ void TodoTable::updateVisible() | |||
356 | 379 | ||
380 | /* added 20.01.2k2 by se */ | ||
381 | if (showDeadl){ | ||
382 | showColumn (3); | ||
383 | adjustColumn(3); | ||
384 | }else{ | ||
385 | hideColumn (3); | ||
386 | adjustColumn(2); | ||
387 | } | ||
388 | |||
357 | int visible = 0; | 389 | int visible = 0; |
@@ -457,3 +489,3 @@ void TodoTable::slotCheckPriority(int row, int col ) | |||
457 | 489 | ||
458 | void TodoTable::updateJournal( const ToDoEvent &todo, journal_action action, int row ) | 490 | void TodoTable::updateJournal( const ToDoEvent &/*todo*/, journal_action action, int row ) |
459 | { | 491 | { |
@@ -510,2 +542,16 @@ void TodoTable::journalFreeReplaceEntry( const ToDoEvent &todo, int row ) | |||
510 | item( row, 2 )->setText( strTodo ); | 542 | item( row, 2 )->setText( strTodo ); |
543 | |||
544 | /* added 20.01.2k2 by se */ | ||
545 | if (showDeadl){ | ||
546 | if (todo.hasDate()){ | ||
547 | QDate *today = new QDate (QDate::currentDate()); | ||
548 | if (today){ | ||
549 | item (row, 3)->setText (tr ("%1").arg(today->daysTo(todo.date()))); | ||
550 | delete (today); | ||
551 | } | ||
552 | }else{ | ||
553 | item (row, 3)->setText ("n.d."); | ||
554 | } | ||
555 | } | ||
556 | |||
511 | *(*it) = todo; | 557 | *(*it) = todo; |
@@ -520,2 +566,16 @@ void TodoTable::journalFreeReplaceEntry( const ToDoEvent &todo, int row ) | |||
520 | item( row, 2 )->setText( strTodo ); | 566 | item( row, 2 )->setText( strTodo ); |
567 | |||
568 | /* added 20.01.2k2 by se */ | ||
569 | if (showDeadl){ | ||
570 | if (todo.hasDate()){ | ||
571 | QDate *today = new QDate (QDate::currentDate()); | ||
572 | if (today){ | ||
573 | item (row, 3)->setText (tr ("%1").arg(today->daysTo(todo.date()))); | ||
574 | delete (today); | ||
575 | } | ||
576 | }else{ | ||
577 | item (row, 3)->setText ("n.d."); | ||
578 | } | ||
579 | } | ||
580 | |||
521 | todoList.insert( static_cast<CheckItem*>(item(row,0)), new ToDoEvent(todo) ); | 581 | todoList.insert( static_cast<CheckItem*>(item(row,0)), new ToDoEvent(todo) ); |
diff --git a/core/pim/todo/todotable.h b/core/pim/todo/todotable.h index 2746ce7..288ff90 100644 --- a/core/pim/todo/todotable.h +++ b/core/pim/todo/todotable.h | |||
@@ -100,2 +100,6 @@ public: | |||
100 | 100 | ||
101 | /* added 20.01.2k2 by se */ | ||
102 | void setShowDeadline (bool sd) {showDeadl = sd; updateVisible();} | ||
103 | bool showDeadline() const { return showDeadl;} | ||
104 | |||
101 | void setShowCategory( const QString &c ) { showCat = c; updateVisible(); } | 105 | void setShowCategory( const QString &c ) { showCat = c; updateVisible(); } |
@@ -161,2 +165,5 @@ private: | |||
161 | int currFindRow; | 165 | int currFindRow; |
166 | |||
167 | /* added 20.01.2k2 by se */ | ||
168 | bool showDeadl; | ||
162 | }; | 169 | }; |
@@ -176,2 +183,16 @@ inline void TodoTable::insertIntoTable( ToDoEvent *todo, int row ) | |||
176 | 183 | ||
184 | /* added 20.01.2k2 by se */ | ||
185 | QTableItem *dl = NULL; | ||
186 | if (todo->hasDate()){ | ||
187 | QDate *today = new QDate (QDate::currentDate()); | ||
188 | if (today){ | ||
189 | dl = new TodoTextItem (this, tr ("%1"). | ||
190 | arg(today->daysTo(todo->date()))); | ||
191 | delete (today); | ||
192 | } | ||
193 | }else{ | ||
194 | dl = new TodoTextItem (this,"n.d."); | ||
195 | } | ||
196 | setItem( row, 3, dl); | ||
197 | |||
177 | setItem( row, 0, chk ); | 198 | setItem( row, 0, chk ); |
@@ -180,2 +201,3 @@ inline void TodoTable::insertIntoTable( ToDoEvent *todo, int row ) | |||
180 | 201 | ||
202 | |||
181 | todoList.insert( chk, todo ); | 203 | todoList.insert( chk, todo ); |