-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 | |||
@@ -166,25 +166,25 @@ void MainWindow::initActions() { | |||
166 | m_showDeadLineAction->addTo( m_options ); | 166 | m_showDeadLineAction->addTo( m_options ); |
167 | m_showDeadLineAction->setOn( showDeadline() ); | 167 | m_showDeadLineAction->setOn( showDeadline() ); |
168 | connect(m_showDeadLineAction, SIGNAL(toggled(bool) ), | 168 | connect(m_showDeadLineAction, SIGNAL(toggled(bool) ), |
169 | this, SLOT( slotShowDeadLine( bool ) ) ); | 169 | this, SLOT( slotShowDeadLine( bool ) ) ); |
170 | 170 | ||
171 | m_options->insertSeparator(); | 171 | m_options->insertSeparator(); |
172 | 172 | ||
173 | m_bar->insertItem( tr("Data") ,m_edit ); | 173 | m_bar->insertItem( tr("Data") ,m_edit ); |
174 | m_bar->insertItem( tr("Category"), m_catMenu ); | 174 | m_bar->insertItem( tr("Category"), m_catMenu ); |
175 | m_bar->insertItem( tr("Options"), m_options ); | 175 | m_bar->insertItem( tr("Options"), m_options ); |
176 | 176 | ||
177 | /* initialize the view menu */ | 177 | /* initialize the view menu */ |
178 | a = new QAction( QString::null, tr("Show over due"), | 178 | a = new QAction( QString::null, tr("Show only over due"), |
179 | 0, this, 0, TRUE ); | 179 | 0, this, 0, TRUE ); |
180 | a->addTo( m_view ); | 180 | a->addTo( m_view ); |
181 | a->setOn( showOverDue() ); | 181 | a->setOn( showOverDue() ); |
182 | connect(a, SIGNAL(toggled(bool)), | 182 | connect(a, SIGNAL(toggled(bool)), |
183 | this, SLOT(slotShowDue(bool) ) ); | 183 | this, SLOT(slotShowDue(bool) ) ); |
184 | m_view->insertSeparator(); | 184 | m_view->insertSeparator(); |
185 | 185 | ||
186 | m_bar->insertItem( tr("View"), m_view ); | 186 | m_bar->insertItem( tr("View"), m_view ); |
187 | 187 | ||
188 | /* templates */ | 188 | /* templates */ |
189 | m_edit->insertItem(tr("New from template"), m_template, | 189 | m_edit->insertItem(tr("New from template"), m_template, |
190 | -1, 0 ); | 190 | -1, 0 ); |
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 | |||
@@ -5,38 +5,45 @@ | |||
5 | 5 | ||
6 | #include <opie/orecurrancewidget.h> | 6 | #include <opie/orecurrancewidget.h> |
7 | 7 | ||
8 | #include "taskeditoroverviewimpl.h" | 8 | #include "taskeditoroverviewimpl.h" |
9 | #include "taskeditoradvanced.h" | 9 | #include "taskeditoradvanced.h" |
10 | #include "taskeditoralarms.h" | 10 | #include "taskeditoralarms.h" |
11 | 11 | ||
12 | #include "otaskeditor.h" | 12 | #include "otaskeditor.h" |
13 | 13 | ||
14 | OTaskEditor::OTaskEditor(int cur) | 14 | OTaskEditor::OTaskEditor(int cur) |
15 | : QDialog(0, 0, TRUE ) { | 15 | : QDialog(0, 0, TRUE ) { |
16 | init(); | 16 | init(); |
17 | OTodo to; | 17 | init( cur ); |
18 | to.setCategories( cur ); | ||
19 | load(to); | ||
20 | m_uid = 1; // generate a new one | ||
21 | } | 18 | } |
22 | OTaskEditor::OTaskEditor( const OTodo& to) | 19 | OTaskEditor::OTaskEditor( const OTodo& to) |
23 | : QDialog(0, 0, TRUE ) { | 20 | : QDialog(0, 0, TRUE ) { |
24 | init(); | 21 | init(); |
25 | load( to ); | 22 | init( to ); |
26 | m_uid = to.uid(); | ||
27 | } | 23 | } |
28 | OTaskEditor::~OTaskEditor() { | 24 | OTaskEditor::~OTaskEditor() { |
29 | 25 | ||
30 | } | 26 | } |
27 | void OTaskEditor::init( int cur ) { | ||
28 | OTodo to; | ||
29 | if ( cur != 0 ) | ||
30 | to.setCategories( cur ); | ||
31 | load(to); | ||
32 | m_uid = 1; // generate a new one | ||
33 | } | ||
34 | void OTaskEditor::init( const OTodo& to ) { | ||
35 | load( to ); | ||
36 | m_uid = to.uid(); | ||
37 | } | ||
31 | OTodo OTaskEditor::todo()const{ | 38 | OTodo OTaskEditor::todo()const{ |
32 | qWarning("saving!"); | 39 | qWarning("saving!"); |
33 | OTodo to; | 40 | OTodo to; |
34 | to.setUid(m_uid ); | 41 | to.setUid(m_uid ); |
35 | m_overView->save( to ); | 42 | m_overView->save( to ); |
36 | to.setDescription( m_line->text() ); | 43 | to.setDescription( m_line->text() ); |
37 | 44 | ||
38 | return to; | 45 | return to; |
39 | } | 46 | } |
40 | void OTaskEditor::load(const OTodo& to) { | 47 | void OTaskEditor::load(const OTodo& to) { |
41 | m_overView->load( to ); | 48 | m_overView->load( to ); |
42 | m_line->setText( to.description() ); | 49 | m_line->setText( to.description() ); |
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 | |||
@@ -9,24 +9,31 @@ | |||
9 | class TaskEditorOverViewImpl; | 9 | class TaskEditorOverViewImpl; |
10 | class TaskEditorAdvanced; | 10 | class TaskEditorAdvanced; |
11 | class TaskEditorAlarms; | 11 | class TaskEditorAlarms; |
12 | class ORecurranceWidget; | 12 | class ORecurranceWidget; |
13 | class QMultiLineEdit; | 13 | class QMultiLineEdit; |
14 | class OTaskEditor : public QDialog { | 14 | class OTaskEditor : public QDialog { |
15 | Q_OBJECT | 15 | Q_OBJECT |
16 | public: | 16 | public: |
17 | OTaskEditor(int cur); | 17 | OTaskEditor(int cur); |
18 | OTaskEditor( const OTodo& todo ); | 18 | OTaskEditor( const OTodo& todo ); |
19 | ~OTaskEditor(); | 19 | ~OTaskEditor(); |
20 | 20 | ||
21 | /* | ||
22 | * same as the c'tor but this gives us the | ||
23 | * power to 'preload' the dialog | ||
24 | */ | ||
25 | void init( int cur ); | ||
26 | void init( const OTodo& todo ); | ||
27 | |||
21 | OTodo todo()const; | 28 | OTodo todo()const; |
22 | private: | 29 | private: |
23 | void load( const OTodo& ); | 30 | void load( const OTodo& ); |
24 | void init(); | 31 | void init(); |
25 | 32 | ||
26 | OTabWidget *m_tab; | 33 | OTabWidget *m_tab; |
27 | TaskEditorOverViewImpl* m_overView; | 34 | TaskEditorOverViewImpl* m_overView; |
28 | TaskEditorAdvanced *m_adv; | 35 | TaskEditorAdvanced *m_adv; |
29 | TaskEditorAlarms *m_alarm; | 36 | TaskEditorAlarms *m_alarm; |
30 | TaskEditorAlarms* m_remind; | 37 | TaskEditorAlarms* m_remind; |
31 | ORecurranceWidget* m_rec; | 38 | ORecurranceWidget* m_rec; |
32 | QMultiLineEdit* m_line; | 39 | QMultiLineEdit* m_line; |
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 | |||
@@ -11,24 +11,34 @@ | |||
11 | 11 | ||
12 | /* | 12 | /* |
13 | * we need to hack | 13 | * we need to hack |
14 | */ | 14 | */ |
15 | 15 | ||
16 | TaskEditorOverViewImpl::TaskEditorOverViewImpl( QWidget* parent, const char* name ) | 16 | TaskEditorOverViewImpl::TaskEditorOverViewImpl( QWidget* parent, const char* name ) |
17 | : TaskEditorOverView( parent, name ) { | 17 | : TaskEditorOverView( parent, name ) { |
18 | init(); | 18 | init(); |
19 | } | 19 | } |
20 | TaskEditorOverViewImpl::~TaskEditorOverViewImpl() { | 20 | TaskEditorOverViewImpl::~TaskEditorOverViewImpl() { |
21 | } | 21 | } |
22 | void TaskEditorOverViewImpl::load( const OTodo& todo) { | 22 | void TaskEditorOverViewImpl::load( const OTodo& todo) { |
23 | /* | ||
24 | * now that we're 'preloaded' we | ||
25 | * need to disable the buttons | ||
26 | * holding the dat | ||
27 | */ | ||
28 | btnDue-> setEnabled( FALSE ); | ||
29 | btnComp-> setEnabled( FALSE ); | ||
30 | btnStart->setEnabled( FALSE ); | ||
31 | |||
32 | |||
23 | QDate date = QDate::currentDate(); | 33 | QDate date = QDate::currentDate(); |
24 | QString str = TimeString::longDateString( date ); | 34 | QString str = TimeString::longDateString( date ); |
25 | 35 | ||
26 | emit recurranceEnabled( FALSE ); | 36 | emit recurranceEnabled( FALSE ); |
27 | ckbStart->setChecked( FALSE ); | 37 | ckbStart->setChecked( FALSE ); |
28 | btnStart->setText( str ); | 38 | btnStart->setText( str ); |
29 | 39 | ||
30 | ckbComp->setChecked( FALSE ); | 40 | ckbComp->setChecked( FALSE ); |
31 | btnComp->setText( str ); | 41 | btnComp->setText( str ); |
32 | 42 | ||
33 | cmbProgress->setCurrentItem( todo.progress()/20 ); | 43 | cmbProgress->setCurrentItem( todo.progress()/20 ); |
34 | cmbSum->insertItem( todo.summary(), 0 ); | 44 | cmbSum->insertItem( todo.summary(), 0 ); |
@@ -60,24 +70,26 @@ void TaskEditorOverViewImpl::save( OTodo& to) { | |||
60 | to.setProgress( cmbProgress->currentItem() * 20 ); | 70 | to.setProgress( cmbProgress->currentItem() * 20 ); |
61 | } | 71 | } |
62 | /* | 72 | /* |
63 | * here we will init the basic view | 73 | * here we will init the basic view |
64 | * one Popup for each Date Button | 74 | * one Popup for each Date Button |
65 | * and some other signal and slots connection | 75 | * and some other signal and slots connection |
66 | */ | 76 | */ |
67 | void TaskEditorOverViewImpl::init() { | 77 | void TaskEditorOverViewImpl::init() { |
68 | QDate curDate = QDate::currentDate(); | 78 | QDate curDate = QDate::currentDate(); |
69 | m_start = m_comp = m_due = curDate; | 79 | m_start = m_comp = m_due = curDate; |
70 | QString str = TimeString::longDateString( curDate ); | 80 | QString str = TimeString::longDateString( curDate ); |
71 | 81 | ||
82 | |||
83 | |||
72 | /* Start Date Picker */ | 84 | /* Start Date Picker */ |
73 | m_startPop = new QPopupMenu(this); | 85 | m_startPop = new QPopupMenu(this); |
74 | m_startBook = new DateBookMonth(m_startPop, 0, TRUE ); | 86 | m_startBook = new DateBookMonth(m_startPop, 0, TRUE ); |
75 | m_startPop->insertItem( m_startBook ); | 87 | m_startPop->insertItem( m_startBook ); |
76 | connect( m_startBook, SIGNAL( dateClicked(int, int, int) ), | 88 | connect( m_startBook, SIGNAL( dateClicked(int, int, int) ), |
77 | this, SLOT(slotStartChanged(int, int, int) ) ); | 89 | this, SLOT(slotStartChanged(int, int, int) ) ); |
78 | 90 | ||
79 | 91 | ||
80 | /* Due Date Picker */ | 92 | /* Due Date Picker */ |
81 | m_duePop = new QPopupMenu(this); | 93 | m_duePop = new QPopupMenu(this); |
82 | m_dueBook = new DateBookMonth(m_duePop, 0, TRUE ); | 94 | m_dueBook = new DateBookMonth(m_duePop, 0, TRUE ); |
83 | m_duePop->insertItem( m_dueBook ); | 95 | m_duePop->insertItem( m_dueBook ); |
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 | |||
@@ -1,55 +1,67 @@ | |||
1 | 1 | ||
2 | #include "otaskeditor.h" | 2 | #include "otaskeditor.h" |
3 | #include "todoeditor.h" | 3 | #include "todoeditor.h" |
4 | 4 | ||
5 | using namespace Todo; | 5 | using namespace Todo; |
6 | 6 | ||
7 | Editor::Editor() { | 7 | Editor::Editor() { |
8 | m_accepted = false; | 8 | m_accepted = false; |
9 | m_self = 0l; | ||
9 | } | 10 | } |
10 | Editor::~Editor() { | 11 | Editor::~Editor() { |
12 | delete m_self; | ||
13 | m_self = 0; | ||
11 | } | 14 | } |
12 | OTodo Editor::newTodo( int cur, | 15 | OTodo Editor::newTodo( int cur, |
13 | QWidget* par) { | 16 | QWidget*) { |
14 | 17 | ||
15 | OTaskEditor e( cur); | 18 | OTaskEditor *e = self(); |
19 | e->setCaption( QObject::tr("Enter Task") ); | ||
20 | e->init( cur ); | ||
16 | 21 | ||
17 | 22 | ||
18 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) | 23 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) |
19 | e.showMaximized(); | 24 | e->showMaximized(); |
20 | #endif | 25 | #endif |
21 | 26 | ||
22 | int ret = e.exec(); | 27 | int ret = e->exec(); |
23 | if ( QDialog::Accepted == ret ) { | 28 | if ( QDialog::Accepted == ret ) { |
24 | m_accepted = true; | 29 | m_accepted = true; |
25 | }else | 30 | }else |
26 | m_accepted = false; | 31 | m_accepted = false; |
27 | 32 | ||
28 | OTodo ev = e.todo(); | 33 | OTodo ev = e->todo(); |
29 | qWarning("Todo uid"); | 34 | qWarning("Todo uid"); |
30 | qWarning("Todo %s %d %d", ev.summary().latin1(), ev.progress(), ev.isCompleted() ); | 35 | qWarning("Todo %s %d %d", ev.summary().latin1(), ev.progress(), ev.isCompleted() ); |
31 | ev.setUid(1); | 36 | ev.setUid(1); |
32 | 37 | ||
33 | return ev; | 38 | return ev; |
34 | } | 39 | } |
35 | OTodo Editor::edit( QWidget *wid, | 40 | OTodo Editor::edit( QWidget *wid, |
36 | const OTodo& todo ) { | 41 | const OTodo& todo ) { |
37 | OTaskEditor e( todo ); | 42 | OTaskEditor *e = self(); |
38 | e.setCaption( QObject::tr( "Edit Task" ) ); | 43 | e->init( todo ); |
44 | e->setCaption( QObject::tr( "Edit Task" ) ); | ||
39 | 45 | ||
40 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) | 46 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) |
41 | e.showMaximized(); | 47 | e->showMaximized(); |
42 | #endif | 48 | #endif |
43 | int ret = e.exec(); | 49 | int ret = e->exec(); |
44 | 50 | ||
45 | OTodo ev = e.todo(); | 51 | OTodo ev = e->todo(); |
46 | if ( ret == QDialog::Accepted ) | 52 | if ( ret == QDialog::Accepted ) |
47 | m_accepted = true; | 53 | m_accepted = true; |
48 | else | 54 | else |
49 | m_accepted = false; | 55 | m_accepted = false; |
50 | 56 | ||
51 | return ev; | 57 | return ev; |
52 | } | 58 | } |
53 | bool Editor::accepted()const { | 59 | bool Editor::accepted()const { |
54 | return m_accepted; | 60 | return m_accepted; |
55 | } | 61 | } |
62 | OTaskEditor* Editor::self() { | ||
63 | if (!m_self ) | ||
64 | m_self = new OTaskEditor(0); | ||
65 | |||
66 | return m_self; | ||
67 | } | ||
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 | |||
@@ -1,25 +1,29 @@ | |||
1 | #ifndef OPIE_TODO_EDITOR_H | 1 | #ifndef OPIE_TODO_EDITOR_H |
2 | #define OPIE_TODO_EDITOR_H | 2 | #define OPIE_TODO_EDITOR_H |
3 | 3 | ||
4 | #include <opie/otodo.h> | 4 | #include <opie/otodo.h> |
5 | 5 | ||
6 | 6 | ||
7 | class OTaskEditor; | ||
7 | namespace Todo { | 8 | namespace Todo { |
8 | class Editor { | 9 | class Editor { |
9 | public: | 10 | public: |
10 | Editor(); | 11 | Editor(); |
11 | ~Editor(); | 12 | ~Editor(); |
12 | 13 | ||
13 | OTodo newTodo( int currentCatId, | 14 | OTodo newTodo( int currentCatId, |
14 | QWidget* par ); | 15 | QWidget* par ); |
15 | OTodo edit( QWidget* par, | 16 | OTodo edit( QWidget* par, |
16 | const OTodo& ev = OTodo() ); | 17 | const OTodo& ev = OTodo() ); |
17 | 18 | ||
18 | 19 | ||
19 | bool accepted()const; | 20 | bool accepted()const; |
21 | protected: | ||
22 | OTaskEditor* self(); | ||
20 | private: | 23 | private: |
21 | bool m_accepted: 1; | 24 | bool m_accepted: 1; |
25 | OTaskEditor* m_self; | ||
22 | }; | 26 | }; |
23 | }; | 27 | }; |
24 | 28 | ||
25 | #endif | 29 | #endif |