-rw-r--r-- | core/pim/todo/mainwindow.cpp | 52 | ||||
-rw-r--r-- | core/pim/todo/mainwindow.h | 1 | ||||
-rw-r--r-- | core/pim/todo/todo.pro | 2 |
3 files changed, 48 insertions, 7 deletions
diff --git a/core/pim/todo/mainwindow.cpp b/core/pim/todo/mainwindow.cpp index c9c43d4..2994915 100644 --- a/core/pim/todo/mainwindow.cpp +++ b/core/pim/todo/mainwindow.cpp @@ -27,4 +27,6 @@ */ +#include <unistd.h> + #include <qmenubar.h> #include <qmessagebox.h> @@ -35,4 +37,5 @@ #include <qtimer.h> +#include <qpe/applnk.h> #include <qpe/config.h> #include <qpe/ir.h> @@ -40,4 +43,5 @@ #include <qpe/qpemessagebox.h> +#include <opie/otodoaccessvcal.h> #include "todotemplatemanager.h" @@ -529,12 +533,48 @@ bool MainWindow::showOverDue()const { return m_overdue; } -void MainWindow::setDocument( const QString& ) { - +void MainWindow::setDocument( const QString& fi) { + DocLnk doc(fi); + if (doc.isValid() ) + receiveFile(doc.file() ); + else + receiveFile(fi ); } -void MainWindow::slotBeam() { - -} -void MainWindow::beamDone( Ir* ) { +static const char *beamfile = "/tmp/opie-todo.vcs"; +void MainWindow::slotBeam() { + ::unlink( beamfile ); + OTodo todo = event( currentView()->current() ); + 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::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 = tr("<P>%1 new tasks arrived.<p>Would you like to add them to your Todolist?").arg(list.count() ); + + if ( QMessageBox::information(this, 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(); + } } diff --git a/core/pim/todo/mainwindow.h b/core/pim/todo/mainwindow.h index 598c3af..8d0c29f 100644 --- a/core/pim/todo/mainwindow.h +++ b/core/pim/todo/mainwindow.h @@ -97,4 +97,5 @@ private slots: private: + void receiveFile( const QString& filename ); void connectBase( ViewBase* ); void initUI(); diff --git a/core/pim/todo/todo.pro b/core/pim/todo/todo.pro index 3ff78f5..f26acee 100644 --- a/core/pim/todo/todo.pro +++ b/core/pim/todo/todo.pro @@ -1,4 +1,4 @@ TEMPLATE = app -CONFIG = qt warn_on debug +CONFIG = qt warn_on release DESTDIR = $(OPIEDIR)/bin |