summaryrefslogtreecommitdiff
path: root/core/pim/todo
Unidiff
Diffstat (limited to 'core/pim/todo') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/todo/mainwindow.cpp23
-rw-r--r--core/pim/todo/mainwindow.h9
-rw-r--r--core/pim/todo/todoentryimpl.cpp8
-rw-r--r--core/pim/todo/todotable.cpp68
-rw-r--r--core/pim/todo/todotable.h22
5 files changed, 120 insertions, 10 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 */
493void 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 );
@@ -66,4 +70,5 @@ private:
66 *deleteAction, 70 *deleteAction,
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
458void TodoTable::updateJournal( const ToDoEvent &todo, journal_action action, int row ) 490void 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 );