-rw-r--r-- | core/pim/todo/mainwindow.cpp | 2 | ||||
-rw-r--r-- | core/pim/todo/otaskeditor.cpp | 19 | ||||
-rw-r--r-- | core/pim/todo/otaskeditor.h | 7 | ||||
-rw-r--r-- | core/pim/todo/taskeditoroverviewimpl.cpp | 12 | ||||
-rw-r--r-- | core/pim/todo/todoeditor.cpp | 32 | ||||
-rw-r--r-- | core/pim/todo/todoeditor.h | 4 |
6 files changed, 59 insertions, 17 deletions
diff --git a/core/pim/todo/mainwindow.cpp b/core/pim/todo/mainwindow.cpp index 71e6750..9b2423b 100644 --- a/core/pim/todo/mainwindow.cpp +++ b/core/pim/todo/mainwindow.cpp @@ -175,7 +175,7 @@ void MainWindow::initActions() { m_bar->insertItem( tr("Options"), m_options ); /* initialize the view menu */ - a = new QAction( QString::null, tr("Show over due"), + a = new QAction( QString::null, tr("Show only over due"), 0, this, 0, TRUE ); a->addTo( m_view ); a->setOn( showOverDue() ); diff --git a/core/pim/todo/otaskeditor.cpp b/core/pim/todo/otaskeditor.cpp index e8e922f..1a68eb5 100644 --- a/core/pim/todo/otaskeditor.cpp +++ b/core/pim/todo/otaskeditor.cpp @@ -14,20 +14,27 @@ OTaskEditor::OTaskEditor(int cur) : QDialog(0, 0, TRUE ) { init(); - OTodo to; - to.setCategories( cur ); - load(to); - m_uid = 1; // generate a new one + init( cur ); } OTaskEditor::OTaskEditor( const OTodo& to) : QDialog(0, 0, TRUE ) { init(); - load( to ); - m_uid = to.uid(); + init( to ); } OTaskEditor::~OTaskEditor() { } +void OTaskEditor::init( int cur ) { + OTodo to; + if ( cur != 0 ) + to.setCategories( cur ); + load(to); + m_uid = 1; // generate a new one +} +void OTaskEditor::init( const OTodo& to ) { + load( to ); + m_uid = to.uid(); +} OTodo OTaskEditor::todo()const{ qWarning("saving!"); OTodo to; diff --git a/core/pim/todo/otaskeditor.h b/core/pim/todo/otaskeditor.h index 5842fdc..bcbd543 100644 --- a/core/pim/todo/otaskeditor.h +++ b/core/pim/todo/otaskeditor.h @@ -18,6 +18,13 @@ public: OTaskEditor( const OTodo& todo ); ~OTaskEditor(); + /* + * same as the c'tor but this gives us the + * power to 'preload' the dialog + */ + void init( int cur ); + void init( const OTodo& todo ); + OTodo todo()const; private: void load( const OTodo& ); diff --git a/core/pim/todo/taskeditoroverviewimpl.cpp b/core/pim/todo/taskeditoroverviewimpl.cpp index b9b2ae6..c10ad40 100644 --- a/core/pim/todo/taskeditoroverviewimpl.cpp +++ b/core/pim/todo/taskeditoroverviewimpl.cpp @@ -20,6 +20,16 @@ TaskEditorOverViewImpl::TaskEditorOverViewImpl( QWidget* parent, const char* nam TaskEditorOverViewImpl::~TaskEditorOverViewImpl() { } void TaskEditorOverViewImpl::load( const OTodo& todo) { + /* + * now that we're 'preloaded' we + * need to disable the buttons + * holding the dat + */ + btnDue-> setEnabled( FALSE ); + btnComp-> setEnabled( FALSE ); + btnStart->setEnabled( FALSE ); + + QDate date = QDate::currentDate(); QString str = TimeString::longDateString( date ); @@ -69,6 +79,8 @@ void TaskEditorOverViewImpl::init() { m_start = m_comp = m_due = curDate; QString str = TimeString::longDateString( curDate ); + + /* Start Date Picker */ m_startPop = new QPopupMenu(this); m_startBook = new DateBookMonth(m_startPop, 0, TRUE ); diff --git a/core/pim/todo/todoeditor.cpp b/core/pim/todo/todoeditor.cpp index e19ab8d..9b8c5cb 100644 --- a/core/pim/todo/todoeditor.cpp +++ b/core/pim/todo/todoeditor.cpp @@ -6,26 +6,31 @@ using namespace Todo; Editor::Editor() { m_accepted = false; + m_self = 0l; } Editor::~Editor() { + delete m_self; + m_self = 0; } OTodo Editor::newTodo( int cur, - QWidget* par) { + QWidget*) { - OTaskEditor e( cur); + OTaskEditor *e = self(); + e->setCaption( QObject::tr("Enter Task") ); + e->init( cur ); #if defined(Q_WS_QWS) || defined(_WS_QWS_) - e.showMaximized(); + e->showMaximized(); #endif - int ret = e.exec(); + int ret = e->exec(); if ( QDialog::Accepted == ret ) { m_accepted = true; }else m_accepted = false; - OTodo ev = e.todo(); + OTodo ev = e->todo(); qWarning("Todo uid"); qWarning("Todo %s %d %d", ev.summary().latin1(), ev.progress(), ev.isCompleted() ); ev.setUid(1); @@ -34,15 +39,16 @@ OTodo Editor::newTodo( int cur, } OTodo Editor::edit( QWidget *wid, const OTodo& todo ) { - OTaskEditor e( todo ); - e.setCaption( QObject::tr( "Edit Task" ) ); + OTaskEditor *e = self(); + e->init( todo ); + e->setCaption( QObject::tr( "Edit Task" ) ); #if defined(Q_WS_QWS) || defined(_WS_QWS_) - e.showMaximized(); + e->showMaximized(); #endif - int ret = e.exec(); + int ret = e->exec(); - OTodo ev = e.todo(); + OTodo ev = e->todo(); if ( ret == QDialog::Accepted ) m_accepted = true; else @@ -53,3 +59,9 @@ OTodo Editor::edit( QWidget *wid, bool Editor::accepted()const { return m_accepted; } +OTaskEditor* Editor::self() { + if (!m_self ) + m_self = new OTaskEditor(0); + + return m_self; +} diff --git a/core/pim/todo/todoeditor.h b/core/pim/todo/todoeditor.h index bbfdcb5..fe30634 100644 --- a/core/pim/todo/todoeditor.h +++ b/core/pim/todo/todoeditor.h @@ -4,6 +4,7 @@ #include <opie/otodo.h> +class OTaskEditor; namespace Todo { class Editor { public: @@ -17,8 +18,11 @@ namespace Todo { bool accepted()const; + protected: + OTaskEditor* self(); private: bool m_accepted: 1; + OTaskEditor* m_self; }; }; |