summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/todo/mainwindow.cpp6
-rw-r--r--core/pim/todo/mainwindow.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/core/pim/todo/mainwindow.cpp b/core/pim/todo/mainwindow.cpp
index d419166..27e76d9 100644
--- a/core/pim/todo/mainwindow.cpp
+++ b/core/pim/todo/mainwindow.cpp
@@ -129,64 +129,65 @@ TodoWindow::TodoWindow( QWidget *parent, const char *name, WFlags f ) :
129 QPEMenuBar *mb = new QPEMenuBar( bar ); 129 QPEMenuBar *mb = new QPEMenuBar( bar );
130 130
131 catMenu = new QPopupMenu( this ); 131 catMenu = new QPopupMenu( this );
132 QPopupMenu *edit = new QPopupMenu( this ); 132 QPopupMenu *edit = new QPopupMenu( this );
133 QPopupMenu *options = new QPopupMenu(this ); 133 QPopupMenu *options = new QPopupMenu(this );
134 134
135 contextMenu = new QPopupMenu( this ); 135 contextMenu = new QPopupMenu( this );
136 136
137 bar = new QPEToolBar( this ); 137 bar = new QPEToolBar( this );
138 138
139 QAction *a = new QAction( tr( "New Task" ), Resource::loadPixmap( "new" ), 139 QAction *a = new QAction( tr( "New Task" ), Resource::loadPixmap( "new" ),
140 QString::null, 0, this, 0 ); 140 QString::null, 0, this, 0 );
141 connect( a, SIGNAL( activated() ), 141 connect( a, SIGNAL( activated() ),
142 this, SLOT( slotNew() ) ); 142 this, SLOT( slotNew() ) );
143 a->addTo( bar ); 143 a->addTo( bar );
144 a->addTo( edit ); 144 a->addTo( edit );
145 145
146 a = new QAction( tr( "Edit Task" ), Resource::loadIconSet( "edit" ), 146 a = new QAction( tr( "Edit Task" ), Resource::loadIconSet( "edit" ),
147 QString::null, 0, this, 0 ); 147 QString::null, 0, this, 0 );
148 connect( a, SIGNAL( activated() ), 148 connect( a, SIGNAL( activated() ),
149 this, SLOT( slotEdit() ) ); 149 this, SLOT( slotEdit() ) );
150 a->addTo( bar ); 150 a->addTo( bar );
151 a->addTo( edit ); 151 a->addTo( edit );
152 a->addTo( contextMenu ); 152 a->addTo( contextMenu );
153 a->setEnabled( FALSE ); 153 a->setEnabled( FALSE );
154 editAction = a; 154 editAction = a;
155 155
156 a = new QAction( QString::null, tr("View Task"), 0, this, 0 ); 156 a = new QAction( QString::null, tr("View Task"), 0, this, 0 );
157 a->addTo( edit ); 157 a->addTo( edit );
158 a->addTo( contextMenu ); 158 a->addTo( contextMenu );
159 connect( a, SIGNAL( activated() ), 159 connect( a, SIGNAL( activated() ),
160 this, SLOT(slotShowDetails() ) ); 160 this, SLOT(slotShowDetails() ) );
161 viewAction = a;
161 162
162 edit->insertSeparator(); 163 edit->insertSeparator();
163 164
164 a = new QAction( tr( "Delete..." ), Resource::loadIconSet( "trash" ), 165 a = new QAction( tr( "Delete..." ), Resource::loadIconSet( "trash" ),
165 QString::null, 0, this, 0 ); 166 QString::null, 0, this, 0 );
166 connect( a, SIGNAL( activated() ), 167 connect( a, SIGNAL( activated() ),
167 this, SLOT( slotDelete() ) ); 168 this, SLOT( slotDelete() ) );
168 a->addTo( bar ); 169 a->addTo( bar );
169 a->addTo( edit ); 170 a->addTo( edit );
170 a->addTo( contextMenu ); 171 a->addTo( contextMenu );
171 a->setEnabled( FALSE ); 172 a->setEnabled( FALSE );
172 deleteAction = a; 173 deleteAction = a;
173 174
174 // delete All in category is missing.... 175 // delete All in category is missing....
175 // set All Done 176 // set All Done
176 // set All Done in category 177 // set All Done in category
177 178
178 a = new QAction( QString::null, tr( "Delete all..."), 0, this, 0 ); 179 a = new QAction( QString::null, tr( "Delete all..."), 0, this, 0 );
179 connect(a, SIGNAL( activated() ), 180 connect(a, SIGNAL( activated() ),
180 this, SLOT( slotDeleteAll() ) ); 181 this, SLOT( slotDeleteAll() ) );
181 a->addTo(edit ); 182 a->addTo(edit );
182 a->setEnabled( FALSE ); 183 a->setEnabled( FALSE );
183 deleteAllAction = a; 184 deleteAllAction = a;
184 185
185 edit->insertSeparator(); 186 edit->insertSeparator();
186 a = new QAction( QString::null, tr("Duplicate" ), 0, this, 0 ); 187 a = new QAction( QString::null, tr("Duplicate" ), 0, this, 0 );
187 connect(a, SIGNAL( activated() ), 188 connect(a, SIGNAL( activated() ),
188 this, SLOT( slotDuplicate() ) ); 189 this, SLOT( slotDuplicate() ) );
189 a->addTo(edit ); 190 a->addTo(edit );
190 a->setEnabled( FALSE ); 191 a->setEnabled( FALSE );
191 duplicateAction = a; 192 duplicateAction = a;
192 edit->insertSeparator(); 193 edit->insertSeparator();
@@ -407,69 +408,71 @@ void TodoWindow::slotDuplicate()
407 int uid; 408 int uid;
408 { // uid 409 { // uid
409 Qtopia::UidGen *uidgen = new Qtopia::UidGen(); 410 Qtopia::UidGen *uidgen = new Qtopia::UidGen();
410 uid = uidgen->generate(); 411 uid = uidgen->generate();
411 delete uidgen; 412 delete uidgen;
412 } 413 }
413 ev2.setUid( uid ); 414 ev2.setUid( uid );
414 table->setPaintingEnabled( false ); 415 table->setPaintingEnabled( false );
415 table->addEntry( ev2 ); 416 table->addEntry( ev2 );
416 table->setPaintingEnabled( true ); 417 table->setPaintingEnabled( true );
417 418
418 mStack->raiseWidget( 1 ); 419 mStack->raiseWidget( 1 );
419} 420}
420void TodoWindow::slotShowPopup( const QPoint &p ) 421void TodoWindow::slotShowPopup( const QPoint &p )
421{ 422{
422 contextMenu->popup( p ); 423 contextMenu->popup( p );
423} 424}
424 425
425void TodoWindow::showCompleted( bool s ) 426void TodoWindow::showCompleted( bool s )
426{ 427{
427 if ( !table->isUpdatesEnabled() ) 428 if ( !table->isUpdatesEnabled() )
428 return; 429 return;
429 table->setPaintingEnabled( false ); 430 table->setPaintingEnabled( false );
430 table->setShowCompleted( s ); 431 table->setShowCompleted( s );
431 table->setPaintingEnabled( true ); 432 table->setPaintingEnabled( true );
432 mStack->raiseWidget( 1 ); 433 mStack->raiseWidget( 1 );
433} 434}
434 435
435void TodoWindow::currentEntryChanged( int r, int ) 436void TodoWindow::currentEntryChanged( int r, int )
436{ 437{
437 if ( r != -1 && table->rowHeight( r ) > 0 ) { 438 if ( r != -1 && table->rowHeight( r ) > 0 ) {
438 editAction->setEnabled( TRUE ); 439 editAction->setEnabled( TRUE );
440 viewAction->setEnabled( TRUE );
439 deleteAction->setEnabled( TRUE ); 441 deleteAction->setEnabled( TRUE );
440 duplicateAction->setEnabled( TRUE ); 442 duplicateAction->setEnabled( TRUE );
441 deleteAllAction->setEnabled( TRUE ); 443 deleteAllAction->setEnabled( TRUE );
442 } else { 444 } else {
443 editAction->setEnabled( FALSE ); 445 editAction->setEnabled( FALSE );
446 viewAction->setEnabled( FALSE );
444 deleteAction->setEnabled( FALSE ); 447 deleteAction->setEnabled( FALSE );
445 duplicateAction->setEnabled( FALSE ); 448 duplicateAction->setEnabled( FALSE );
446 deleteAllAction->setEnabled( FALSE ); 449 deleteAllAction->setEnabled( FALSE );
447 } 450 }
448} 451}
449 452
450void TodoWindow::setCategory( int c ) 453void TodoWindow::setCategory( int c )
451{ 454{
452 if ( c <= 0 ) return; 455 if ( c <= 0 ) return;
453 if ( !table->isUpdatesEnabled() ) 456 if ( !table->isUpdatesEnabled() )
454 return; 457 return;
455 table->setPaintingEnabled( false ); 458 table->setPaintingEnabled( false );
456 for ( unsigned int i = 1; i < catMenu->count(); i++ ) 459 for ( unsigned int i = 1; i < catMenu->count(); i++ )
457 catMenu->setItemChecked( i, c == (int)i ); 460 catMenu->setItemChecked( i, c == (int)i );
458 if ( c == 1 ) { 461 if ( c == 1 ) {
459 table->setShowCategory( QString::null ); 462 table->setShowCategory( QString::null );
460 setCaption( tr("Todo") + " - " + tr( "All Categories" ) ); 463 setCaption( tr("Todo") + " - " + tr( "All Categories" ) );
461 } else if ( c == (int)catMenu->count() - 1 ) { 464 } else if ( c == (int)catMenu->count() - 1 ) {
462 table->setShowCategory( tr( "Unfiled" ) ); 465 table->setShowCategory( tr( "Unfiled" ) );
463 setCaption( tr("Todo") + " - " + tr( "Unfiled" ) ); 466 setCaption( tr("Todo") + " - " + tr( "Unfiled" ) );
464 } else { 467 } else {
465 QString cat = table->categories()[c - 2]; 468 QString cat = table->categories()[c - 2];
466 table->setShowCategory( cat ); 469 table->setShowCategory( cat );
467 setCaption( tr("Todo") + " - " + cat ); 470 setCaption( tr("Todo") + " - " + cat );
468 } 471 }
469 table->setPaintingEnabled( true ); 472 table->setPaintingEnabled( true );
470 473
471 mStack->raiseWidget( 1 ); 474 mStack->raiseWidget( 1 );
472} 475}
473 476
474void TodoWindow::populateCategories() 477void TodoWindow::populateCategories()
475{ 478{
@@ -578,51 +581,54 @@ void TodoWindow::setDocument( const QString &filename )
578 581
579 ToDoDB todoDB(filename, new ToDoVCalResource() ); 582 ToDoDB todoDB(filename, new ToDoVCalResource() );
580 QValueList<ToDoEvent> tl = todoDB.rawToDos(); 583 QValueList<ToDoEvent> tl = todoDB.rawToDos();
581 for( QValueList<ToDoEvent>::Iterator it = tl.begin(); it != tl.end(); ++it ) { 584 for( QValueList<ToDoEvent>::Iterator it = tl.begin(); it != tl.end(); ++it ) {
582 table->addEntry( *it ); 585 table->addEntry( *it );
583 } 586 }
584} 587}
585 588
586static const char * beamfile = "/tmp/obex/todo.vcs"; 589static const char * beamfile = "/tmp/obex/todo.vcs";
587 590
588void TodoWindow::slotBeam() 591void TodoWindow::slotBeam()
589{ 592{
590 unlink( beamfile ); // delete if exists 593 unlink( beamfile ); // delete if exists
591 ToDoEvent c = table->currentEntry(); 594 ToDoEvent c = table->currentEntry();
592 mkdir("/tmp/obex/", 0755); 595 mkdir("/tmp/obex/", 0755);
593 ToDoDB todoDB( beamfile, new ToDoVCalResource() ); 596 ToDoDB todoDB( beamfile, new ToDoVCalResource() );
594 todoDB.addEvent( c ); 597 todoDB.addEvent( c );
595 todoDB.save(); 598 todoDB.save();
596 Ir *ir = new Ir( this ); 599 Ir *ir = new Ir( this );
597 connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) ); 600 connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) );
598 QString description = c.summary(); 601 QString description = c.summary();
599 ir->send( beamfile, description, "text/x-vCalendar" ); 602 ir->send( beamfile, description, "text/x-vCalendar" );
600} 603}
601 604
602void TodoWindow::beamDone( Ir *ir ) 605void TodoWindow::beamDone( Ir *ir )
603{ 606{
604 delete ir; 607 delete ir;
605 unlink( beamfile ); 608 unlink( beamfile );
606} 609}
607 610
608void TodoWindow::showDeadline( bool s ) 611void TodoWindow::showDeadline( bool s )
609{ 612{
613 if ( !table->isUpdatesEnabled() )
614 return;
610 table->setPaintingEnabled( false ); 615 table->setPaintingEnabled( false );
611 table->setShowDeadline( s ); 616 table->setShowDeadline( s );
612 table->setPaintingEnabled( true ); 617 table->setPaintingEnabled( true );
618 mStack->raiseWidget( 1 );
613} 619}
614void TodoWindow::slotShowDetails() 620void TodoWindow::slotShowDetails()
615{ 621{
616 ToDoEvent event = table->currentEntry(); 622 ToDoEvent event = table->currentEntry();
617 slotShowDetails( event ); 623 slotShowDetails( event );
618} 624}
619void TodoWindow::slotShowDetails( const ToDoEvent &event ) 625void TodoWindow::slotShowDetails( const ToDoEvent &event )
620{ 626{
621 if( mView == 0l ){ 627 if( mView == 0l ){
622 mView = new TodoLabel(mStack); 628 mView = new TodoLabel(mStack);
623 mStack->addWidget( mView, 2 ); 629 mStack->addWidget( mView, 2 );
624 } 630 }
625 mView->init( event ); 631 mView->init( event );
626 mView->sync(); 632 mView->sync();
627 mStack->raiseWidget( 2); 633 mStack->raiseWidget( 2);
628} 634}
diff --git a/core/pim/todo/mainwindow.h b/core/pim/todo/mainwindow.h
index f62ec6e..7e8445c 100644
--- a/core/pim/todo/mainwindow.h
+++ b/core/pim/todo/mainwindow.h
@@ -50,47 +50,48 @@ public slots:
50protected slots: 50protected slots:
51 void slotNew(); 51 void slotNew();
52 void slotDelete(); 52 void slotDelete();
53 void slotEdit(); 53 void slotEdit();
54 void slotShowPopup( const QPoint & ); 54 void slotShowPopup( const QPoint & );
55 void showCompleted( bool ); 55 void showCompleted( bool );
56 56
57 void showDeadline( bool ); 57 void showDeadline( bool );
58 58
59 void slotShowDetails(const ToDoEvent &event ); 59 void slotShowDetails(const ToDoEvent &event );
60 void slotShowDetails(); 60 void slotShowDetails();
61 61
62 void currentEntryChanged( int r, int c ); 62 void currentEntryChanged( int r, int c );
63 void setCategory( int ); 63 void setCategory( int );
64 void slotFind(); 64 void slotFind();
65 void setDocument( const QString & ); 65 void setDocument( const QString & );
66 void slotBeam(); 66 void slotBeam();
67 void beamDone( Ir * ); 67 void beamDone( Ir * );
68 void slotDeleteAll(); 68 void slotDeleteAll();
69 void slotDuplicate(); 69 void slotDuplicate();
70 70
71protected: 71protected:
72 void closeEvent( QCloseEvent *e ); 72 void closeEvent( QCloseEvent *e );
73 73
74private: 74private:
75 void populateCategories(); 75 void populateCategories();
76 //inline void switchToTable(); // move back to the normal view 76 //inline void switchToTable(); // move back to the normal view
77 77
78private: 78private:
79 TodoTable *table; 79 TodoTable *table;
80 TodoLabel *mView; 80 TodoLabel *mView;
81 QAction *editAction, 81 QAction *editAction,
82 *viewAction,
82 *deleteAction, 83 *deleteAction,
83 *findAction, 84 *findAction,
84 *completedAction, 85 *completedAction,
85 *showdeadlineAction, 86 *showdeadlineAction,
86 *deleteAllAction, 87 *deleteAllAction,
87 *duplicateAction; 88 *duplicateAction;
88 QPopupMenu *contextMenu, *catMenu; 89 QPopupMenu *contextMenu, *catMenu;
89 QWidgetStack *mStack; 90 QWidgetStack *mStack;
90 91
91 bool syncing; 92 bool syncing;
92}; 93};
93 94
94#endif 95#endif
95 96
96 97