-rw-r--r-- | core/pim/todo/TODO | 3 | ||||
-rw-r--r-- | core/pim/todo/mainwindow.cpp | 68 | ||||
-rw-r--r-- | core/pim/todo/mainwindow.h | 16 | ||||
-rw-r--r-- | core/pim/todo/opie-todo.control | 2 | ||||
-rw-r--r-- | core/pim/todo/todo.pro | 6 | ||||
-rw-r--r-- | core/pim/todo/todolabel.cc | 58 | ||||
-rw-r--r-- | core/pim/todo/todolabel.h | 51 | ||||
-rw-r--r-- | core/pim/todo/todotable.cpp | 24 | ||||
-rw-r--r-- | core/pim/todo/todotable.h | 2 |
9 files changed, 202 insertions, 28 deletions
diff --git a/core/pim/todo/TODO b/core/pim/todo/TODO index 7601dd2..b00450c 100644 --- a/core/pim/todo/TODO +++ b/core/pim/todo/TODO | |||
@@ -1,4 +1 @@ | |||
1 | -fix the journal (wip ) | ||
2 | -fix day wrapping update all DueDateItems | ||
3 | -when checking the C. box update the deadline | -when checking the C. box update the deadline | |
4 | -TodoLabel : public TextView | ||
diff --git a/core/pim/todo/mainwindow.cpp b/core/pim/todo/mainwindow.cpp index fc17c5f..d3f4cb4 100644 --- a/core/pim/todo/mainwindow.cpp +++ b/core/pim/todo/mainwindow.cpp | |||
@@ -2,4 +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 | 3 | ** Copyright (C) 2002 zecke |
4 | Copyright (C) 2002 Stefan Eilers | 4 | ** Copyright (C) 2002 Stefan Eilers (se, eilers.stefan@epost.de) |
5 | ** | 5 | ** |
@@ -27,2 +27,3 @@ | |||
27 | #include "todotable.h" | 27 | #include "todotable.h" |
28 | #include "todolabel.h" | ||
28 | 29 | ||
@@ -50,2 +51,3 @@ | |||
50 | #include <qpopupmenu.h> | 51 | #include <qpopupmenu.h> |
52 | #include <qwidgetstack.h> | ||
51 | 53 | ||
@@ -73,3 +75,4 @@ TodoWindow::TodoWindow( QWidget *parent, const char *name, WFlags f = 0 ) : | |||
73 | // t.start(); | 75 | // t.start(); |
74 | 76 | mView = 0l; | |
77 | mStack = new QWidgetStack(this, "main stack"); | ||
75 | setCaption( tr("Todo") ); | 78 | setCaption( tr("Todo") ); |
@@ -103,3 +106,5 @@ TodoWindow::TodoWindow( QWidget *parent, const char *name, WFlags f = 0 ) : | |||
103 | 106 | ||
104 | setCentralWidget( table ); | 107 | mStack->addWidget(table, 1 ); |
108 | mStack->raiseWidget( 1 ); | ||
109 | setCentralWidget( mStack ); | ||
105 | setToolBarsMovable( FALSE ); | 110 | setToolBarsMovable( FALSE ); |
@@ -148,2 +153,9 @@ TodoWindow::TodoWindow( QWidget *parent, const char *name, WFlags f = 0 ) : | |||
148 | editAction = a; | 153 | editAction = a; |
154 | |||
155 | a = new QAction( QString::null, tr("View Task"), 0, this, 0 ); | ||
156 | a->addTo( edit ); | ||
157 | a->addTo( contextMenu ); | ||
158 | connect( a, SIGNAL( activated() ), | ||
159 | this, SLOT(slotShowDetails() ) ); | ||
160 | |||
149 | edit->insertSeparator(); | 161 | edit->insertSeparator(); |
@@ -178,4 +190,6 @@ TodoWindow::TodoWindow( QWidget *parent, const char *name, WFlags f = 0 ) : | |||
178 | duplicateAction = a; | 190 | duplicateAction = a; |
179 | |||
180 | edit->insertSeparator(); | 191 | edit->insertSeparator(); |
192 | |||
193 | |||
194 | |||
181 | if ( Ir::supported() ) { | 195 | if ( Ir::supported() ) { |
@@ -251,2 +265,4 @@ TodoWindow::TodoWindow( QWidget *parent, const char *name, WFlags f = 0 ) : | |||
251 | 265 | ||
266 | connect( table, SIGNAL(showDetails(const ToDoEvent &) ), | ||
267 | this, SLOT(slotShowDetails(const ToDoEvent & ) ) ); | ||
252 | // qDebug("done: t=%d", t.elapsed() ); | 268 | // qDebug("done: t=%d", t.elapsed() ); |
@@ -288,2 +304,3 @@ void TodoWindow::slotNew() | |||
288 | populateCategories(); | 304 | populateCategories(); |
305 | mStack->raiseWidget(1 ); | ||
289 | } | 306 | } |
@@ -320,2 +337,3 @@ void TodoWindow::slotDelete() | |||
320 | } | 337 | } |
338 | mStack->raiseWidget(1); | ||
321 | } | 339 | } |
@@ -331,3 +349,3 @@ void TodoWindow::slotDeleteAll() | |||
331 | 349 | ||
332 | if ( !QPEMessageBox::confirmDelete( this, tr( "Todo" ), tr("Should I delete all tasks?") ) ) | 350 | if ( !QPEMessageBox::confirmDelete( this, tr( "Todo" ), tr("Delete all tasks?") ) ) |
333 | return; | 351 | return; |
@@ -344,2 +362,3 @@ void TodoWindow::slotDeleteAll() | |||
344 | } | 362 | } |
363 | mStack->raiseWidget(1 ); | ||
345 | } | 364 | } |
@@ -371,3 +390,3 @@ void TodoWindow::slotEdit() | |||
371 | populateCategories(); | 390 | populateCategories(); |
372 | 391 | mStack->raiseWidget( 1 ); | |
373 | } | 392 | } |
@@ -381,3 +400,10 @@ void TodoWindow::slotDuplicate() | |||
381 | ToDoEvent ev = table->currentEntry(); | 400 | ToDoEvent ev = table->currentEntry(); |
382 | ToDoEvent ev2 = ToDoEvent( ev ); | 401 | ToDoEvent ev2 = ToDoEvent( ev ); // what about the uid |
402 | int uid; | ||
403 | { // uid | ||
404 | Qtopia::UidGen *uidgen = new Qtopia::UidGen(); | ||
405 | uid = uidgen->generate(); | ||
406 | delete uidgen; | ||
407 | } | ||
408 | ev2.setUid( uid ); | ||
383 | table->setPaintingEnabled( false ); | 409 | table->setPaintingEnabled( false ); |
@@ -385,2 +411,4 @@ void TodoWindow::slotDuplicate() | |||
385 | table->setPaintingEnabled( true ); | 411 | table->setPaintingEnabled( true ); |
412 | |||
413 | mStack->raiseWidget( 1 ); | ||
386 | } | 414 | } |
@@ -435,2 +463,4 @@ void TodoWindow::setCategory( int c ) | |||
435 | table->setPaintingEnabled( true ); | 463 | table->setPaintingEnabled( true ); |
464 | |||
465 | mStack->raiseWidget( 1 ); | ||
436 | } | 466 | } |
@@ -442,2 +472,3 @@ void TodoWindow::populateCategories() | |||
442 | id = 1; | 472 | id = 1; |
473 | rememberId = 0; | ||
443 | catMenu->insertItem( tr( "All Categories" ), id++ ); | 474 | catMenu->insertItem( tr( "All Categories" ), id++ ); |
@@ -474,2 +505,7 @@ void TodoWindow::closeEvent( QCloseEvent *e ) | |||
474 | { | 505 | { |
506 | if( mStack->visibleWidget() != table ){ | ||
507 | mStack->raiseWidget( 1 ); | ||
508 | e->ignore(); | ||
509 | return; | ||
510 | } | ||
475 | if(syncing) { | 511 | if(syncing) { |
@@ -564,3 +600,2 @@ void TodoWindow::beamDone( Ir *ir ) | |||
564 | 600 | ||
565 | /* added 20.01.2k2 by se */ | ||
566 | void TodoWindow::showDeadline( bool s ) | 601 | void TodoWindow::showDeadline( bool s ) |
@@ -571 +606,16 @@ void TodoWindow::showDeadline( bool s ) | |||
571 | } | 606 | } |
607 | void TodoWindow::slotShowDetails() | ||
608 | { | ||
609 | ToDoEvent event = table->currentEntry(); | ||
610 | slotShowDetails( event ); | ||
611 | } | ||
612 | void TodoWindow::slotShowDetails( const ToDoEvent &event ) | ||
613 | { | ||
614 | if( mView == 0l ){ | ||
615 | mView = new TodoLabel(mStack); | ||
616 | mStack->addWidget( mView, 2 ); | ||
617 | } | ||
618 | mView->init( event ); | ||
619 | mView->sync(); | ||
620 | mStack->raiseWidget( 2); | ||
621 | } | ||
diff --git a/core/pim/todo/mainwindow.h b/core/pim/todo/mainwindow.h index b9172e1..f62ec6e 100644 --- a/core/pim/todo/mainwindow.h +++ b/core/pim/todo/mainwindow.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | Copyright (C) 2002 Holger 'zecke' Freyther <freyther@kde.org> | 2 | ** Copyright (C) 2002 Holger 'zecke' Freyther <freyther@kde.org> |
3 | ** Copyright (C) 2002 by Stefan Eilers (se, eilers.stefan@epost.de) | ||
3 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | 4 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. |
@@ -31,2 +32,6 @@ class Ir; | |||
31 | class OFontMenu; | 32 | class OFontMenu; |
33 | class TodoLabel; | ||
34 | class ToDoDB; | ||
35 | class QWidgetStack; | ||
36 | class ToDoEvent; | ||
32 | 37 | ||
@@ -51,5 +56,7 @@ protected slots: | |||
51 | 56 | ||
52 | /* added 20.01.2k2 by se */ | ||
53 | void showDeadline( bool ); | 57 | void showDeadline( bool ); |
54 | 58 | ||
59 | void slotShowDetails(const ToDoEvent &event ); | ||
60 | void slotShowDetails(); | ||
61 | |||
55 | void currentEntryChanged( int r, int c ); | 62 | void currentEntryChanged( int r, int c ); |
@@ -68,2 +75,3 @@ private: | |||
68 | void populateCategories(); | 75 | void populateCategories(); |
76 | //inline void switchToTable(); // move back to the normal view | ||
69 | 77 | ||
@@ -71,2 +79,3 @@ private: | |||
71 | TodoTable *table; | 79 | TodoTable *table; |
80 | TodoLabel *mView; | ||
72 | QAction *editAction, | 81 | QAction *editAction, |
@@ -79,2 +88,3 @@ private: | |||
79 | QPopupMenu *contextMenu, *catMenu; | 88 | QPopupMenu *contextMenu, *catMenu; |
89 | QWidgetStack *mStack; | ||
80 | 90 | ||
diff --git a/core/pim/todo/opie-todo.control b/core/pim/todo/opie-todo.control index cb9b110..71929af 100644 --- a/core/pim/todo/opie-todo.control +++ b/core/pim/todo/opie-todo.control | |||
@@ -3,3 +3,3 @@ Priority: optional | |||
3 | Section: opie/applications | 3 | Section: opie/applications |
4 | Maintainer: Warwick Allison <warwick@trolltech.com> | 4 | Maintainer: Holger 'zecke' Freyther <zecke@handhelds.org> |
5 | Architecture: arm | 5 | Architecture: arm |
diff --git a/core/pim/todo/todo.pro b/core/pim/todo/todo.pro index a46fb47..a365081 100644 --- a/core/pim/todo/todo.pro +++ b/core/pim/todo/todo.pro | |||
@@ -5,3 +5,4 @@ HEADERS = mainwindow.h \ | |||
5 | todotable.h \ | 5 | todotable.h \ |
6 | todoentryimpl.h | 6 | todoentryimpl.h \ |
7 | todolabel.h | ||
7 | SOURCES= main.cpp \ | 8 | SOURCES= main.cpp \ |
@@ -9,3 +10,4 @@ SOURCES = main.cpp \ | |||
9 | todotable.cpp \ | 10 | todotable.cpp \ |
10 | todoentryimpl.cpp | 11 | todoentryimpl.cpp \ |
12 | todolabel.cc | ||
11 | 13 | ||
diff --git a/core/pim/todo/todolabel.cc b/core/pim/todo/todolabel.cc new file mode 100644 index 0000000..4ce3499 --- a/dev/null +++ b/core/pim/todo/todolabel.cc | |||
@@ -0,0 +1,58 @@ | |||
1 | /********************************************************************** | ||
2 | ** Copyright (C) 2002 by Stefan Eilers (se, eilers.stefan@epost.de) | ||
3 | ** Copyright (C) 2002 Holger 'zecke' Freyther <freyther@kde.org> | ||
4 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | ||
5 | ** | ||
6 | ** This file is part of the Qtopia Environment. | ||
7 | ** | ||
8 | ** This file may be distributed and/or modified under the terms of the | ||
9 | ** GNU General Public License version 2 as published by the Free Software | ||
10 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
11 | ** packaging of this file. | ||
12 | ** | ||
13 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
14 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
15 | ** | ||
16 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
17 | ** | ||
18 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
19 | ** not clear to you. | ||
20 | ** | ||
21 | **********************************************************************/ | ||
22 | |||
23 | |||
24 | |||
25 | #include <qpe/stringutil.h> | ||
26 | |||
27 | #include <qregexp.h> | ||
28 | #include <qstylesheet.h> | ||
29 | |||
30 | |||
31 | #include "todolabel.h" | ||
32 | |||
33 | TodoLabel::TodoLabel( QWidget *parent, const char *name ) | ||
34 | : QTextView( parent, name ) | ||
35 | { | ||
36 | } | ||
37 | |||
38 | TodoLabel::~TodoLabel() | ||
39 | { | ||
40 | } | ||
41 | |||
42 | void TodoLabel::init( const ToDoEvent &item ) | ||
43 | { | ||
44 | m_item = item; | ||
45 | } | ||
46 | |||
47 | void TodoLabel::sync() | ||
48 | { | ||
49 | QString text = m_item.richText(); | ||
50 | setText( text ); | ||
51 | } | ||
52 | |||
53 | void TodoLabel::keyPressEvent( QKeyEvent *e ) | ||
54 | { | ||
55 | if ( e->key() == Qt::Key_F33 ) { | ||
56 | emit okPressed(); | ||
57 | } | ||
58 | } | ||
diff --git a/core/pim/todo/todolabel.h b/core/pim/todo/todolabel.h new file mode 100644 index 0000000..b6d67af --- a/dev/null +++ b/core/pim/todo/todolabel.h | |||
@@ -0,0 +1,51 @@ | |||
1 | /********************************************************************** | ||
2 | ** Copyright (C) 2002 by Stefan Eilers (se, eilers.stefan@epost.de) | ||
3 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | ||
4 | ** | ||
5 | ** This file is part of the Qtopia Environment. | ||
6 | ** | ||
7 | ** This file may be distributed and/or modified under the terms of the | ||
8 | ** GNU General Public License version 2 as published by the Free Software | ||
9 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
10 | ** packaging of this file. | ||
11 | ** | ||
12 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
13 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
14 | ** | ||
15 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
16 | ** | ||
17 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
18 | ** not clear to you. | ||
19 | ** | ||
20 | **********************************************************************/ | ||
21 | #ifndef TODOLABEL_H | ||
22 | #define TODOLABEL_H | ||
23 | |||
24 | #include <opie/todoevent.h> | ||
25 | |||
26 | #include <qtextview.h> | ||
27 | |||
28 | class TodoLabel : public QTextView | ||
29 | { | ||
30 | Q_OBJECT | ||
31 | |||
32 | public: | ||
33 | TodoLabel( QWidget *parent, const char *name = 0 ); | ||
34 | ~TodoLabel(); | ||
35 | |||
36 | public slots: | ||
37 | void init( const ToDoEvent &item); | ||
38 | void sync(); | ||
39 | |||
40 | signals: | ||
41 | void okPressed(); | ||
42 | |||
43 | protected: | ||
44 | void keyPressEvent( QKeyEvent * ); | ||
45 | |||
46 | private: | ||
47 | ToDoEvent m_item; | ||
48 | |||
49 | }; | ||
50 | |||
51 | #endif | ||
diff --git a/core/pim/todo/todotable.cpp b/core/pim/todo/todotable.cpp index d0bc61c..753c036 100644 --- a/core/pim/todo/todotable.cpp +++ b/core/pim/todo/todotable.cpp | |||
@@ -307,11 +307,17 @@ void TodoTable::slotClicked( int row, int col, int, const QPoint &pos ) | |||
307 | case 2: | 307 | case 2: |
308 | // may as well edit it... | 308 | // may as well edit it... |
309 | // menuTimer->stop(); | 309 | // menuTimer->stop(); |
310 | // emit signalEdit(); | 310 | // emit signalEdit(); |
311 | // fall through | 311 | // Show detailed view of the selected entry |
312 | case 3: | 312 | { |
313 | // may as well edit it... | ||
314 | menuTimer->stop(); | 313 | menuTimer->stop(); |
315 | // emit signalEdit(); | 314 | ToDoEvent *todo = todoList[static_cast<CheckItem*>(item(row, 0))]; |
316 | break; | 315 | emit showDetails( *todo ); |
316 | } | ||
317 | break; | ||
318 | case 3: | ||
319 | // may as well edit it... | ||
320 | menuTimer->stop(); | ||
321 | // emit signalEdit(); | ||
322 | break; | ||
317 | } | 323 | } |
@@ -347,3 +353,3 @@ ToDoEvent TodoTable::currentEntry() const | |||
347 | { | 353 | { |
348 | printf ("in currentEntry\n"); | 354 | //qWarning ("in currentEntry\n"); |
349 | 355 | ||
diff --git a/core/pim/todo/todotable.h b/core/pim/todo/todotable.h index 458e07a..2f6e635 100644 --- a/core/pim/todo/todotable.h +++ b/core/pim/todo/todotable.h | |||
@@ -144,3 +144,3 @@ signals: | |||
144 | void signalWrapAround(); | 144 | void signalWrapAround(); |
145 | 145 | void showDetails( const ToDoEvent & ); | |
146 | protected: | 146 | protected: |