author | zecke <zecke> | 2003-05-07 17:44:59 (UTC) |
---|---|---|
committer | zecke <zecke> | 2003-05-07 17:44:59 (UTC) |
commit | ac895871f93dce9734189daf9cb95dbbda605096 (patch) (side-by-side diff) | |
tree | 18f34fcdeededd689ea9b7a3f8fd9d76d2e22282 | |
parent | 1cee00987d34729393fb9383d90babd39517cc68 (diff) | |
download | opie-ac895871f93dce9734189daf9cb95dbbda605096.zip opie-ac895871f93dce9734189daf9cb95dbbda605096.tar.gz opie-ac895871f93dce9734189daf9cb95dbbda605096.tar.bz2 |
one more
-rw-r--r-- | core/pim/todo/mainwindow.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/core/pim/todo/mainwindow.cpp b/core/pim/todo/mainwindow.cpp index 77cbe17..c5cedc6 100644 --- a/core/pim/todo/mainwindow.cpp +++ b/core/pim/todo/mainwindow.cpp @@ -516,308 +516,308 @@ void MainWindow::setCategory( int c) { currentView()->setShowCategory( m_curCat ); raiseCurrentView(); } void MainWindow::slotShowDeadLine( bool dead) { m_deadline = dead; currentView()->setShowDeadline( dead ); } void MainWindow::slotShowCompleted( bool show) { m_completed = show; currentView()->setShowCompleted( m_completed ); } void MainWindow::slotShowQuickTask( bool show ) { m_quicktask = show; if ( m_quicktask ) m_curQuick->widget()->show(); else m_curQuick->widget()->hide(); } bool MainWindow::showOverDue()const { return m_overdue; } void MainWindow::setDocument( const QString& fi) { DocLnk doc(fi); if (doc.isValid() ) receiveFile(doc.file() ); else receiveFile(fi ); } static const char *beamfile = "/tmp/opie-todo.vcs"; void MainWindow::slotBeam() { beam( currentView()->current() ); } void MainWindow::beamDone( Ir* ir) { delete ir; ::unlink( beamfile ); } void MainWindow::receiveFile( const QString& filename ) { OTodoAccessVCal* cal = new OTodoAccessVCal(filename ); OTodoAccess acc( cal ); acc.load(); OTodoAccess::List list = acc.allRecords(); QString message = QWidget::tr("<P>%1 new tasks arrived.<p>Would you like to add them to your Todolist?").arg(list.count() ); if ( QMessageBox::information(this, QWidget::tr("New Tasks"), message, QMessageBox::Ok, QMessageBox::Cancel ) == QMessageBox::Ok ) { OTodoAccess::List::Iterator it; for ( it = list.begin(); it != list.end(); ++it ) m_todoMgr.add( (*it) ); currentView()->updateView(); } } void MainWindow::slotFlush() { m_syncing = FALSE; m_todoMgr.save(); } void MainWindow::slotShowDetails() { slotShow( currentView()->current() ); } /* * populate the Categories * Menu */ void MainWindow::populateCategories() { m_todoMgr.load(); m_catMenu->clear(); int id, rememberId; id = 1; rememberId = 1; m_catMenu->insertItem( QWidget::tr( "All Categories" ), id++ ); m_catMenu->insertSeparator(); QStringList categories = m_todoMgr.categories(); categories.append( QWidget::tr( "Unfiled" ) ); for ( QStringList::Iterator it = categories.begin(); it != categories.end(); ++it ) { m_catMenu->insertItem( *it, id ); if ( *it == currentCategory() ) rememberId = id; ++id; } setCategory( rememberId ); } bool MainWindow::showCompleted()const { return m_completed; } bool MainWindow::showDeadline()const { return m_deadline; } bool MainWindow::showQuickTask()const { return m_quicktask; } QString MainWindow::currentCategory()const { return m_curCat; } int MainWindow::currentCatId() { return m_todoMgr.catId( m_curCat ); } ViewBase* MainWindow::currentView() { return m_curView; } void MainWindow::raiseCurrentView() { m_stack->raiseWidget( m_curView->widget() ); } void MainWindow::slotShowDue(bool ov) { m_overdue = ov; currentView()->showOverDue( ov ); raiseCurrentView(); } void MainWindow::slotShow( int uid ) { qWarning("slotShow"); currentShow()->slotShow( event( uid ) ); m_stack->raiseWidget( currentShow()->widget() ); } void MainWindow::slotEdit( int uid ) { if (uid == 1 ) return; if(m_syncing) { QMessageBox::warning(this, QWidget::tr("Todo"), QWidget::tr("Can not edit data, currently syncing")); return; } OTodo todo = m_todoMgr.event( uid ); todo = currentEditor()->edit(this, todo ); /* if completed */ if ( currentEditor()->accepted() ) { qWarning("Replacing now" ); m_todoMgr.update( todo.uid(), todo ); currentView()->replaceEvent( todo ); /* a Category might have changed */ populateCategories(); } raiseCurrentView(); } /* void MainWindow::slotUpdate1( int uid, const SmallTodo& ev) { m_todoMgr.update( uid, ev ); } */ void MainWindow::updateTodo( const OTodo& ev) { m_todoMgr.update( ev.uid() , ev ); } /* The view changed it's configuration * update the view menu */ void MainWindow::slotUpdate3( QWidget* ) { } void MainWindow::updateList() { m_todoMgr.updateList(); } void MainWindow::setReadAhead( uint count ) { if (m_todoMgr.todoDB() ) m_todoMgr.todoDB()->setReadAhead( count ); } void MainWindow::slotQuickEntered() { qWarning("entered"); OTodo todo = quickEditor()->todo(); if (todo.isEmpty() ) return; m_todoMgr.add( todo ); currentView()->addEvent( todo ); raiseCurrentView(); } QuickEditBase* MainWindow::quickEditor() { return m_curQuick; } void MainWindow::slotComplete( int uid ) { slotComplete( event(uid) ); } void MainWindow::slotComplete( const OTodo& todo ) { OTodo to = todo; to.setCompleted( !to.isCompleted() ); to.setCompletedDate( QDate::currentDate() ); /* * if the item does recur * we need to spin it off * and update the items duedate to the next * possible recurrance of this item... * the spinned off one will loose the */ - if ( to.recurrence().doesRecur() && to.isCompleted() ) { + if ( to.hasRecurrence() && to.isCompleted() ) { OTodo to2( to ); /* the spinned off one won't recur anymore */ to.setRecurrence( ORecur() ); ORecur rec = to2.recurrence(); rec.setStart( to.dueDate() ); to2.setRecurrence( rec ); /* * if there is a next occurence * from the duedate of the last recurrance */ QDate date; if ( to2.recurrence().nextOcurrence( to2.dueDate().addDays(1), date ) ) { QDate inval; /* generate a new uid for the old record */ to.setUid( 1 ); /* add the old one cause it has a new UID here cause it was spin off */ m_todoMgr.add( to ); /* * update the due date * start date * and complete date */ to2.setDueDate( date ); to2.setStartDate( inval ); to2.setCompletedDate( inval ); to2.setCompleted( false ); updateTodo( to2 ); }else updateTodo( to ); }else updateTodo( to ); currentView()->updateView(); raiseCurrentView(); } void MainWindow::flush() { slotFlush(); } void MainWindow::reload() { slotReload(); } int MainWindow::create() { int uid = 0; if(m_syncing) { QMessageBox::warning(this, QWidget::tr("Todo"), QWidget::tr("Can not edit data, currently syncing")); return uid; } OTodo todo = currentEditor()->newTodo( currentCatId(), this ); if ( currentEditor()->accepted() ) { //todo.assignUid(); uid = todo.uid(); m_todoMgr.add( todo ); currentView()->addEvent( todo ); // I'm afraid we must call this every time now, otherwise // spend expensive time comparing all these strings... // but only call if we changed something -zecke populateCategories(); } raiseCurrentView( ); return uid; } /* delete it silently... */ bool MainWindow::remove( int uid ) { if (m_syncing) return false; return m_todoMgr.remove( uid ); } void MainWindow::beam( int uid) { ::unlink( beamfile ); OTodo todo = event( uid ); OTodoAccessVCal* cal = new OTodoAccessVCal(QString::fromLatin1(beamfile) ); OTodoAccess acc( cal ); acc.load(); acc.add( todo ); acc.save(); Ir* ir = new Ir(this ); connect(ir, SIGNAL(done(Ir*) ), this, SLOT(beamDone(Ir*) ) ); ir->send(beamfile, todo.summary(), "text/x-vCalendar" ); } void MainWindow::show( int uid ) { slotShow( uid ); } void MainWindow::edit( int uid ) { slotEdit( uid ); } void MainWindow::add( const OPimRecord& rec) { if ( rec.rtti() != OTodo::rtti() ) return; const OTodo& todo = static_cast<const OTodo&>(rec); m_todoMgr.add(todo ); currentView()->addEvent( todo ); // I'm afraid we must call this every time now, otherwise // spend expensive time comparing all these strings... // but only call if we changed something -zecke populateCategories(); } void MainWindow::slotReturnFromView() { raiseCurrentView(); } |