summaryrefslogtreecommitdiff
path: root/core/pim/todo/todotable.cpp
Unidiff
Diffstat (limited to 'core/pim/todo/todotable.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/pim/todo/todotable.cpp42
1 files changed, 31 insertions, 11 deletions
diff --git a/core/pim/todo/todotable.cpp b/core/pim/todo/todotable.cpp
index 401d2c8..96cd860 100644
--- a/core/pim/todo/todotable.cpp
+++ b/core/pim/todo/todotable.cpp
@@ -354,3 +354,3 @@ void TodoTable::replaceCurrentEntry( const ToDoEvent &todo, bool fromTableItem )
354 int row = currentRow(); 354 int row = currentRow();
355 updateJournal( todo, ACTION_REPLACE, row ); 355 updateJournal( todo, ACTION_REPLACE);
356 356
@@ -377,3 +377,3 @@ void TodoTable::removeCurrentEntry()
377 updateVisible(); 377 updateVisible();
378 updateJournal( *oldTodo, ACTION_REMOVE, row ); 378 updateJournal( *oldTodo, ACTION_REMOVE);
379 delete oldTodo; 379 delete oldTodo;
@@ -413,7 +413,7 @@ void TodoTable::load( const QString &fn )
413{ 413{
414 loadFile( fn, false );
415 if ( QFile::exists(journalFileName()) ) { 414 if ( QFile::exists(journalFileName()) ) {
416 applyJournal( ); 415 applyJournal( );
417 save( fn ); 416 QFile::remove(journalFileName() );
418 } 417 }
418 loadFile( fn );
419// QTable::sortColumn(2,TRUE,TRUE); 419// QTable::sortColumn(2,TRUE,TRUE);
@@ -503,4 +503,4 @@ void TodoTable::clear()
503 it != todoList.end(); ++it ) { 503 it != todoList.end(); ++it ) {
504 ToDoEvent *todo = *it; 504 ToDoEvent *todo = it.data();
505 updateJournal( todo, ACTION_REMOVE, 0 ); 505 updateJournal( *todo, ACTION_REMOVE );
506 delete todo; 506 delete todo;
@@ -539,3 +539,3 @@ void TodoTable::slotCheckPriority(int row, int col )
539 539
540void TodoTable::updateJournal( const ToDoEvent &todo, journal_action action, int row ) 540void TodoTable::updateJournal( const ToDoEvent &todo, journal_action action )
541{ 541{
@@ -579,3 +579,3 @@ void TodoTable::rowHeightChanged( int row )
579 579
580void TodoTable::loadFile( const QString &strFile, bool fromJournal ) 580void TodoTable::loadFile( const QString &/*we use the standard*/ )
581{ 581{
@@ -756,5 +756,23 @@ void TodoTable::applyJournal()
756 el = el->firstChild(); 756 el = el->firstChild();
757 ToDoDB tododb; // allready loaded ;)
758 bool ok;
759 int action;
760 QString dummy;
757 while( el ){ 761 while( el ){
758 qWarning("journal: %s %s", el->attribute("Uid" ).latin1(), el->tagName().latin1() ); 762 dummy = el->attribute("Action" );
759 doApply( el ); 763 action = dummy.toInt(&ok );
764 ToDoEvent ev = xmlToEvent( el );
765 if(ok ){
766 switch( action){
767 case ACTION_ADD:
768 tododb.addEvent(ev );
769 break;
770 case ACTION_REMOVE:
771 tododb.removeEvent( ev );
772 break;
773 case ACTION_REPLACE:
774 tododb.replaceEvent( ev );
775 break;
776 }
777 }
760 el = el->nextChild(); 778 el = el->nextChild();
@@ -762,2 +780,3 @@ void TodoTable::applyJournal()
762 QFile::remove(journalFileName()+ "_new" ); 780 QFile::remove(journalFileName()+ "_new" );
781 tododb.save();
763 } 782 }
@@ -765,2 +784,3 @@ void TodoTable::applyJournal()
765// check Action and decide 784// check Action and decide
785/*
766void TodoTable::doApply(XMLElement *el ) 786void TodoTable::doApply(XMLElement *el )
@@ -786,2 +806,3 @@ void TodoTable::doApply(XMLElement *el )
786} 806}
807*/
787namespace { 808namespace {
@@ -865,3 +886,2 @@ static ToDoEvent xmlToEvent( XMLElement *element )
865 if(ok ) event.setUid( dumInt ); 886 if(ok ) event.setUid( dumInt );
866
867 return event; 887 return event;