summaryrefslogtreecommitdiff
path: root/core/pim/todo/mainwindow.cpp
Unidiff
Diffstat (limited to 'core/pim/todo/mainwindow.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/pim/todo/mainwindow.cpp98
1 files changed, 48 insertions, 50 deletions
diff --git a/core/pim/todo/mainwindow.cpp b/core/pim/todo/mainwindow.cpp
index fc189bd..0613f2c 100644
--- a/core/pim/todo/mainwindow.cpp
+++ b/core/pim/todo/mainwindow.cpp
@@ -28,6 +28,20 @@
28 28
29#include <unistd.h> 29#include <unistd.h>
30 30
31#include <opie2/opimrecurrence.h>
32#include <opie2/opimnotifymanager.h>
33#include <opie2/otodoaccessvcal.h>
34#include <opie2/oapplicationfactory.h>
35
36#include <qpe/applnk.h>
37#include <qpe/config.h>
38#include <qpe/ir.h>
39#include <qpe/resource.h>
40#include <qpe/qpemessagebox.h>
41#include <qpe/alarmserver.h>
42#include <qpe/timestring.h>
43#include <qpe/qpeapplication.h>
44
31#include <qmenubar.h> 45#include <qmenubar.h>
32#include <qmessagebox.h> 46#include <qmessagebox.h>
33#include <qtoolbar.h> 47#include <qtoolbar.h>
@@ -41,22 +55,6 @@
41#include <qlineedit.h> 55#include <qlineedit.h>
42#include <qwhatsthis.h> 56#include <qwhatsthis.h>
43 57
44#include <qpe/applnk.h>
45#include <qpe/config.h>
46#include <qpe/ir.h>
47#include <qpe/resource.h>
48#include <qpe/qpemessagebox.h>
49#include <qpe/alarmserver.h>
50#include <qpe/timestring.h>
51#include <qpe/qpeapplication.h>
52
53#include <opie/orecur.h>
54#include <opie/opimnotifymanager.h>
55#include <opie/otodoaccessvcal.h>
56#include <opie/owidgetstack.h>
57
58#include <opie/oapplicationfactory.h>
59
60#include "quickeditimpl.h" 58#include "quickeditimpl.h"
61#include "todotemplatemanager.h" 59#include "todotemplatemanager.h"
62#include "templateeditor.h" 60#include "templateeditor.h"
@@ -310,10 +308,10 @@ QPopupMenu* MainWindow::edit() {
310QToolBar* MainWindow::toolbar() { 308QToolBar* MainWindow::toolbar() {
311 return m_tool; 309 return m_tool;
312} 310}
313OTodoAccess::List MainWindow::list()const { 311OPimTodoAccess::List MainWindow::list()const {
314 return m_todoMgr.list(); 312 return m_todoMgr.list();
315} 313}
316OTodoAccess::List MainWindow::sorted( bool asc, int sortOrder ) { 314OPimTodoAccess::List MainWindow::sorted( bool asc, int sortOrder ) {
317 int cat = 0; 315 int cat = 0;
318 if ( m_curCat != QWidget::tr("All Categories") ) 316 if ( m_curCat != QWidget::tr("All Categories") )
319 cat = currentCatId(); 317 cat = currentCatId();
@@ -331,7 +329,7 @@ OTodoAccess::List MainWindow::sorted( bool asc, int sortOrder ) {
331 329
332 return m_todoMgr.sorted( asc, sortOrder, filter, cat ); 330 return m_todoMgr.sorted( asc, sortOrder, filter, cat );
333} 331}
334OTodoAccess::List MainWindow::sorted( bool asc, int sortOrder, int addFilter) { 332OPimTodoAccess::List MainWindow::sorted( bool asc, int sortOrder, int addFilter) {
335 int cat = 0; 333 int cat = 0;
336 if ( m_curCat != QWidget::tr("All Categories") ) 334 if ( m_curCat != QWidget::tr("All Categories") )
337 cat = currentCatId(); 335 cat = currentCatId();
@@ -341,7 +339,7 @@ OTodoAccess::List MainWindow::sorted( bool asc, int sortOrder, int addFilter) {
341 339
342 return m_todoMgr.sorted(asc, sortOrder, addFilter, cat ); 340 return m_todoMgr.sorted(asc, sortOrder, addFilter, cat );
343} 341}
344OTodo MainWindow::event( int uid ) { 342OPimTodo MainWindow::event( int uid ) {
345 return m_todoMgr.event( uid ); 343 return m_todoMgr.event( uid );
346} 344}
347bool MainWindow::isSyncing()const { 345bool MainWindow::isSyncing()const {
@@ -433,14 +431,14 @@ void MainWindow::populateTemplates() {
433void MainWindow::slotNewFromTemplate( int id ) { 431void MainWindow::slotNewFromTemplate( int id ) {
434 QString name = m_template->text( id ); 432 QString name = m_template->text( id );
435 433
436 OTodo event = templateManager()->templateEvent( name ); 434 OPimTodo event = templateManager()->templateEvent( name );
437 event = currentEditor()->edit(this, 435 event = currentEditor()->edit(this,
438 event ); 436 event );
439 437
440 if ( currentEditor()->accepted() ) { 438 if ( currentEditor()->accepted() ) {
441 /* assign new todo */ 439 /* assign new todo */
442 event.setUid( 1 ); 440 event.setUid( 1 );
443 handleAlarms( OTodo(), event ); 441 handleAlarms( OPimTodo(), event );
444 m_todoMgr.add( event ); 442 m_todoMgr.add( event );
445 currentView()->addEvent( event ); 443 currentView()->addEvent( event );
446 444
@@ -457,7 +455,7 @@ void MainWindow::slotDuplicate() {
457 QWidget::tr("Data can not be edited, currently syncing")); 455 QWidget::tr("Data can not be edited, currently syncing"));
458 return; 456 return;
459 } 457 }
460 OTodo ev = m_todoMgr.event( currentView()->current() ); 458 OPimTodo ev = m_todoMgr.event( currentView()->current() );
461 /* let's generate a new uid */ 459 /* let's generate a new uid */
462 ev.setUid(1); 460 ev.setUid(1);
463 m_todoMgr.add( ev ); 461 m_todoMgr.add( ev );
@@ -478,7 +476,7 @@ void MainWindow::slotDelete() {
478 if (!QPEMessageBox::confirmDelete(this, QWidget::tr("Todo"), strName ) ) 476 if (!QPEMessageBox::confirmDelete(this, QWidget::tr("Todo"), strName ) )
479 return; 477 return;
480 478
481 handleAlarms( m_todoMgr.event( currentView()->current() ), OTodo() ); 479 handleAlarms( m_todoMgr.event( currentView()->current() ), OPimTodo() );
482 m_todoMgr.remove( currentView()->current() ); 480 m_todoMgr.remove( currentView()->current() );
483 currentView()->removeEvent( currentView()->current() ); 481 currentView()->removeEvent( currentView()->current() );
484 raiseCurrentView(); 482 raiseCurrentView();
@@ -490,11 +488,11 @@ void MainWindow::slotDelete(int uid ) {
490 QWidget::tr("Data can not be edited, currently syncing")); 488 QWidget::tr("Data can not be edited, currently syncing"));
491 return; 489 return;
492 } 490 }
493 OTodo to = m_todoMgr.event(uid); 491 OPimTodo to = m_todoMgr.event(uid);
494 if (!QPEMessageBox::confirmDelete(this, QWidget::tr("Todo"), to.toShortText() ) ) 492 if (!QPEMessageBox::confirmDelete(this, QWidget::tr("Todo"), to.toShortText() ) )
495 return; 493 return;
496 494
497 handleAlarms(to, OTodo() ); 495 handleAlarms(to, OPimTodo() );
498 m_todoMgr.remove( to.uid() ); 496 m_todoMgr.remove( to.uid() );
499 currentView()->removeEvent( to.uid() ); 497 currentView()->removeEvent( to.uid() );
500 raiseCurrentView(); 498 raiseCurrentView();
@@ -597,11 +595,11 @@ void MainWindow::beamDone( Ir* ir) {
597 ::unlink( beamfile ); 595 ::unlink( beamfile );
598} 596}
599void MainWindow::receiveFile( const QString& filename ) { 597void MainWindow::receiveFile( const QString& filename ) {
600 OTodoAccessVCal* cal = new OTodoAccessVCal(filename ); 598 OPimTodoAccessVCal* cal = new OPimTodoAccessVCal(filename );
601 599
602 OTodoAccess acc( cal ); 600 OPimTodoAccess acc( cal );
603 acc.load(); 601 acc.load();
604 OTodoAccess::List list = acc.allRecords(); 602 OPimTodoAccess::List list = acc.allRecords();
605 603
606 if (list.count()){ 604 if (list.count()){
607 605
@@ -610,7 +608,7 @@ void MainWindow::receiveFile( const QString& filename ) {
610 if ( QMessageBox::information(this, QWidget::tr("New Tasks"), 608 if ( QMessageBox::information(this, QWidget::tr("New Tasks"),
611 message, QMessageBox::Ok, 609 message, QMessageBox::Ok,
612 QMessageBox::Cancel ) == QMessageBox::Ok ) { 610 QMessageBox::Cancel ) == QMessageBox::Ok ) {
613 OTodoAccess::List::Iterator it; 611 OPimTodoAccess::List::Iterator it;
614 for ( it = list.begin(); it != list.end(); ++it ) 612 for ( it = list.begin(); it != list.end(); ++it )
615 m_todoMgr.add( (*it) ); 613 m_todoMgr.add( (*it) );
616 614
@@ -708,9 +706,9 @@ void MainWindow::slotEdit( int uid ) {
708 return; 706 return;
709 } 707 }
710 708
711 OTodo old_todo = m_todoMgr.event( uid ); 709 OPimTodo old_todo = m_todoMgr.event( uid );
712 710
713 OTodo todo = currentEditor()->edit(this, old_todo ); 711 OPimTodo todo = currentEditor()->edit(this, old_todo );
714 712
715 /* if completed */ 713 /* if completed */
716 if ( currentEditor()->accepted() ) { 714 if ( currentEditor()->accepted() ) {
@@ -728,7 +726,7 @@ void MainWindow::slotUpdate1( int uid, const SmallTodo& ev) {
728 m_todoMgr.update( uid, ev ); 726 m_todoMgr.update( uid, ev );
729} 727}
730*/ 728*/
731void MainWindow::updateTodo( const OTodo& ev) { 729void MainWindow::updateTodo( const OPimTodo& ev) {
732 m_todoMgr.update( ev.uid() , ev ); 730 m_todoMgr.update( ev.uid() , ev );
733} 731}
734/* The view changed it's configuration 732/* The view changed it's configuration
@@ -746,7 +744,7 @@ void MainWindow::setReadAhead( uint count ) {
746} 744}
747void MainWindow::slotQuickEntered() { 745void MainWindow::slotQuickEntered() {
748 qWarning("entered"); 746 qWarning("entered");
749 OTodo todo = quickEditor()->todo(); 747 OPimTodo todo = quickEditor()->todo();
750 if (todo.isEmpty() ) 748 if (todo.isEmpty() )
751 return; 749 return;
752 750
@@ -760,8 +758,8 @@ QuickEditBase* MainWindow::quickEditor() {
760void MainWindow::slotComplete( int uid ) { 758void MainWindow::slotComplete( int uid ) {
761 slotComplete( event(uid) ); 759 slotComplete( event(uid) );
762} 760}
763void MainWindow::slotComplete( const OTodo& todo ) { 761void MainWindow::slotComplete( const OPimTodo& todo ) {
764 OTodo to = todo; 762 OPimTodo to = todo;
765 to.setCompleted( !to.isCompleted() ); 763 to.setCompleted( !to.isCompleted() );
766 to.setCompletedDate( QDate::currentDate() ); 764 to.setCompletedDate( QDate::currentDate() );
767 765
@@ -777,12 +775,12 @@ void MainWindow::slotComplete( const OTodo& todo ) {
777 * -zecke 775 * -zecke
778 */ 776 */
779 if ( to.hasRecurrence() && to.isCompleted() ) { 777 if ( to.hasRecurrence() && to.isCompleted() ) {
780 OTodo to2( to ); 778 OPimTodo to2( to );
781 779
782 /* the spinned off one won't recur anymore */ 780 /* the spinned off one won't recur anymore */
783 to.setRecurrence( ORecur() ); 781 to.setRecurrence( OPimRecurrence() );
784 782
785 ORecur rec = to2.recurrence(); 783 OPimRecurrence rec = to2.recurrence();
786 rec.setStart( to.dueDate() ); 784 rec.setStart( to.dueDate() );
787 to2.setRecurrence( rec ); 785 to2.setRecurrence( rec );
788 /* 786 /*
@@ -825,7 +823,7 @@ void MainWindow::slotComplete( const OTodo& todo ) {
825 als.append( al ); 823 als.append( al );
826 } 824 }
827 to2.notifiers().setAlarms( als ); 825 to2.notifiers().setAlarms( als );
828 handleAlarms( OTodo(), todo ); 826 handleAlarms( OPimTodo(), todo );
829 } 827 }
830 to2.setCompletedDate( inval ); 828 to2.setCompletedDate( inval );
831 to2.setCompleted( false ); 829 to2.setCompleted( false );
@@ -855,13 +853,13 @@ int MainWindow::create() {
855 m_todoMgr.load(); 853 m_todoMgr.load();
856 854
857 855
858 OTodo todo = currentEditor()->newTodo( currentCatId(), 856 OPimTodo todo = currentEditor()->newTodo( currentCatId(),
859 this ); 857 this );
860 858
861 if ( currentEditor()->accepted() ) { 859 if ( currentEditor()->accepted() ) {
862 //todo.assignUid(); 860 //todo.assignUid();
863 uid = todo.uid(); 861 uid = todo.uid();
864 handleAlarms( OTodo(), todo ); 862 handleAlarms( OPimTodo(), todo );
865 m_todoMgr.add( todo ); 863 m_todoMgr.add( todo );
866 currentView()->addEvent( todo ); 864 currentView()->addEvent( todo );
867 865
@@ -880,7 +878,7 @@ bool MainWindow::remove( int uid ) {
880 if (m_syncing) return false; 878 if (m_syncing) return false;
881 879
882 /* argh need to get the whole OEvent... to disable alarms -zecke */ 880 /* argh need to get the whole OEvent... to disable alarms -zecke */
883 handleAlarms( OTodo(), m_todoMgr.event( uid ) ); 881 handleAlarms( OPimTodo(), m_todoMgr.event( uid ) );
884 882
885 return m_todoMgr.remove( uid ); 883 return m_todoMgr.remove( uid );
886} 884}
@@ -890,9 +888,9 @@ void MainWindow::beam( int uid) {
890 ::unlink( beamfile ); 888 ::unlink( beamfile );
891 m_todoMgr.load(); 889 m_todoMgr.load();
892 890
893 OTodo todo = event( uid ); 891 OPimTodo todo = event( uid );
894 OTodoAccessVCal* cal = new OTodoAccessVCal(QString::fromLatin1(beamfile) ); 892 OPimTodoAccessVCal* cal = new OPimTodoAccessVCal(QString::fromLatin1(beamfile) );
895 OTodoAccess acc( cal ); 893 OPimTodoAccess acc( cal );
896 acc.load(); 894 acc.load();
897 acc.add( todo ); 895 acc.add( todo );
898 acc.save(); 896 acc.save();
@@ -913,10 +911,10 @@ void MainWindow::edit( int uid ) {
913 slotEdit( uid ); 911 slotEdit( uid );
914} 912}
915void MainWindow::add( const OPimRecord& rec) { 913void MainWindow::add( const OPimRecord& rec) {
916 if ( rec.rtti() != OTodo::rtti() ) return; 914 if ( rec.rtti() != OPimTodo::rtti() ) return;
917 m_todoMgr.load(); // might not be loaded 915 m_todoMgr.load(); // might not be loaded
918 916
919 const OTodo& todo = static_cast<const OTodo&>(rec); 917 const OPimTodo& todo = static_cast<const OPimTodo&>(rec);
920 918
921 m_todoMgr.add(todo ); 919 m_todoMgr.add(todo );
922 currentView()->addEvent( todo ); 920 currentView()->addEvent( todo );
@@ -969,7 +967,7 @@ namespace {
969 } 967 }
970} 968}
971 969
972void MainWindow::handleAlarms( const OTodo& oldTodo, const OTodo& newTodo) { 970void MainWindow::handleAlarms( const OPimTodo& oldTodo, const OPimTodo& newTodo) {
973 /* 971 /*
974 * if oldTodo is not empty and has notifiers we need to find the deleted ones 972 * if oldTodo is not empty and has notifiers we need to find the deleted ones
975 */ 973 */
@@ -997,7 +995,7 @@ void MainWindow::handleAlarms( const OTodo& oldTodo, const OTodo& newTodo) {
997void MainWindow::doAlarm( const QDateTime& dt, int uid ) { 995void MainWindow::doAlarm( const QDateTime& dt, int uid ) {
998 m_todoMgr.load(); 996 m_todoMgr.load();
999 997
1000 OTodo todo = m_todoMgr.event( uid ); 998 OPimTodo todo = m_todoMgr.event( uid );
1001 if (!todo.hasNotifiers() ) return; 999 if (!todo.hasNotifiers() ) return;
1002 1000
1003 /* 1001 /*