summaryrefslogtreecommitdiff
authorleseb <leseb>2002-07-10 17:45:15 (UTC)
committer leseb <leseb>2002-07-10 17:45:15 (UTC)
commit6456ddb2be2a874e858ee25d8463e446b7af58d5 (patch) (unidiff)
treec2354188cea6176ed1959dfd304f701428da1ce7
parent46110a78dd0646d972f238e295ee016f3e78fb85 (diff)
downloadopie-6456ddb2be2a874e858ee25d8463e446b7af58d5.zip
opie-6456ddb2be2a874e858ee25d8463e446b7af58d5.tar.gz
opie-6456ddb2be2a874e858ee25d8463e446b7af58d5.tar.bz2
Fix "view" menu item
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
@@ -113,96 +113,97 @@ TodoWindow::TodoWindow( QWidget *parent, const char *name, WFlags f ) :
113// qDebug("after load: t=%d", t.elapsed() ); 113// qDebug("after load: t=%d", t.elapsed() );
114 114
115 Config config( "todo" ); 115 Config config( "todo" );
116 config.setGroup( "View" ); 116 config.setGroup( "View" );
117 bool complete = config.readBoolEntry( "ShowComplete", true ); 117 bool complete = config.readBoolEntry( "ShowComplete", true );
118 table->setShowCompleted( complete ); 118 table->setShowCompleted( complete );
119 119
120 bool showdeadline = config.readBoolEntry("ShowDeadLine", true); 120 bool showdeadline = config.readBoolEntry("ShowDeadLine", true);
121 table->setShowDeadline (showdeadline); 121 table->setShowDeadline (showdeadline);
122 122
123 QString category = config.readEntry( "Category", QString::null ); 123 QString category = config.readEntry( "Category", QString::null );
124 table->setShowCategory( category ); 124 table->setShowCategory( category );
125 125
126 QPEToolBar *bar = new QPEToolBar( this ); 126 QPEToolBar *bar = new QPEToolBar( this );
127 bar->setHorizontalStretchable( TRUE ); 127 bar->setHorizontalStretchable( TRUE );
128 128
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();
193 194
194 195
195 196
196 if ( Ir::supported() ) { 197 if ( Ir::supported() ) {
197 a = new QAction( tr( "Beam" ), Resource::loadPixmap( "beam" ), 198 a = new QAction( tr( "Beam" ), Resource::loadPixmap( "beam" ),
198 QString::null, 0, this, 0 ); 199 QString::null, 0, this, 0 );
199 connect( a, SIGNAL( activated() ), 200 connect( a, SIGNAL( activated() ),
200 this, SLOT( slotBeam() ) ); 201 this, SLOT( slotBeam() ) );
201 a->addTo( edit ); 202 a->addTo( edit );
202 a->addTo( bar ); 203 a->addTo( bar );
203 } 204 }
204 205
205 a = new QAction( tr( "Find" ), Resource::loadIconSet( "mag" ), 206 a = new QAction( tr( "Find" ), Resource::loadIconSet( "mag" ),
206 QString::null, 0, this, 0 ); 207 QString::null, 0, this, 0 );
207 connect( a, SIGNAL( activated() ), 208 connect( a, SIGNAL( activated() ),
208 this, SLOT( slotFind() ) ); 209 this, SLOT( slotFind() ) );
@@ -391,101 +392,103 @@ void TodoWindow::slotEdit()
391 todo = e.todoEntry(); 392 todo = e.todoEntry();
392 table->replaceCurrentEntry( todo ); 393 table->replaceCurrentEntry( todo );
393 table->setPaintingEnabled( true ); 394 table->setPaintingEnabled( true );
394 } 395 }
395 populateCategories(); 396 populateCategories();
396 mStack->raiseWidget( 1 ); 397 mStack->raiseWidget( 1 );
397} 398}
398void TodoWindow::slotDuplicate() 399void TodoWindow::slotDuplicate()
399{ 400{
400 if(syncing) { 401 if(syncing) {
401 QMessageBox::warning(this, tr("Todo"), 402 QMessageBox::warning(this, tr("Todo"),
402 tr("Can not edit data, currently syncing")); 403 tr("Can not edit data, currently syncing"));
403 return; 404 return;
404 } 405 }
405 ToDoEvent ev = table->currentEntry(); 406 ToDoEvent ev = table->currentEntry();
406 ToDoEvent ev2 = ToDoEvent( ev ); // what about the uid 407 ToDoEvent ev2 = ToDoEvent( ev ); // what about the uid
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{
476 catMenu->clear(); 479 catMenu->clear();
477 int id, rememberId; 480 int id, rememberId;
478 id = 1; 481 id = 1;
479 rememberId = 0; 482 rememberId = 0;
480 catMenu->insertItem( tr( "All Categories" ), id++ ); 483 catMenu->insertItem( tr( "All Categories" ), id++ );
481 catMenu->insertSeparator(); 484 catMenu->insertSeparator();
482 QStringList categories = table->categories(); 485 QStringList categories = table->categories();
483 categories.append( tr( "Unfiled" ) ); 486 categories.append( tr( "Unfiled" ) );
484 for ( QStringList::Iterator it = categories.begin(); 487 for ( QStringList::Iterator it = categories.begin();
485 it != categories.end(); ++it ) { 488 it != categories.end(); ++it ) {
486 catMenu->insertItem( *it, id ); 489 catMenu->insertItem( *it, id );
487 if ( *it == table->showCategory() ) 490 if ( *it == table->showCategory() )
488 rememberId = id; 491 rememberId = id;
489 ++id; 492 ++id;
490 } 493 }
491 if ( table->showCategory().isEmpty() ) 494 if ( table->showCategory().isEmpty() )
@@ -562,67 +565,70 @@ void TodoWindow::slotFind()
562 table, 565 table,
563 SLOT(slotDoFind(const QString&, bool, bool, int)) ); 566 SLOT(slotDoFind(const QString&, bool, bool, int)) );
564 QObject::connect( table, SIGNAL(signalNotFound()), &dlg, 567 QObject::connect( table, SIGNAL(signalNotFound()), &dlg,
565 SLOT(slotNotFound()) ); 568 SLOT(slotNotFound()) );
566 QObject::connect( table, SIGNAL(signalWrapAround()), &dlg, 569 QObject::connect( table, SIGNAL(signalWrapAround()), &dlg,
567 SLOT(slotWrapAround()) ); 570 SLOT(slotWrapAround()) );
568 dlg.exec(); 571 dlg.exec();
569 if ( table->numSelections() ) 572 if ( table->numSelections() )
570 table->clearSelection(); 573 table->clearSelection();
571 table->clearFindRow(); 574 table->clearFindRow();
572} 575}
573 576
574 577
575void TodoWindow::setDocument( const QString &filename ) 578void TodoWindow::setDocument( const QString &filename )
576{ 579{
577 if ( filename.find(".vcs") != int(filename.length()) - 4 ) return; 580 if ( filename.find(".vcs") != int(filename.length()) - 4 ) return;
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
@@ -34,63 +34,64 @@ class TodoLabel;
34class ToDoDB; 34class ToDoDB;
35class QWidgetStack; 35class QWidgetStack;
36class ToDoEvent; 36class ToDoEvent;
37 37
38class TodoWindow : public QMainWindow 38class TodoWindow : public QMainWindow
39{ 39{
40 Q_OBJECT 40 Q_OBJECT
41 41
42public: 42public:
43 TodoWindow( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); 43 TodoWindow( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
44 ~TodoWindow(); 44 ~TodoWindow();
45 45
46public slots: 46public slots:
47 void flush(); 47 void flush();
48 void reload(); 48 void reload();
49 49
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