summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/todo/.cvsignore4
-rw-r--r--core/pim/todo/otaskeditor.cpp35
-rw-r--r--core/pim/todo/otaskeditor.h15
-rw-r--r--core/pim/todo/quickeditimpl.cpp3
-rw-r--r--core/pim/todo/tableview.cpp3
-rw-r--r--core/pim/todo/taskeditoralarms.cpp76
-rw-r--r--core/pim/todo/taskeditoralarms.h52
-rw-r--r--core/pim/todo/taskeditoralarms.ui144
-rw-r--r--core/pim/todo/taskeditoroverview.cpp317
-rw-r--r--core/pim/todo/taskeditoroverview.h92
-rw-r--r--core/pim/todo/taskeditoroverview.ui542
-rw-r--r--core/pim/todo/taskeditoroverviewimpl.cpp221
-rw-r--r--core/pim/todo/taskeditoroverviewimpl.h55
-rw-r--r--core/pim/todo/todo.pro16
14 files changed, 572 insertions, 1003 deletions
diff --git a/core/pim/todo/.cvsignore b/core/pim/todo/.cvsignore
index dd22a2a..c212d11 100644
--- a/core/pim/todo/.cvsignore
+++ b/core/pim/todo/.cvsignore
@@ -1,10 +1,6 @@
Makefile*
moc_*
taskeditoradvanced.cpp
taskeditoradvanced.h
-taskeditoralarms.cpp
-taskeditoralarms.h
-taskeditoroverview.cpp
-taskeditoroverview.h
todoentry.cpp
todoentry.h
diff --git a/core/pim/todo/otaskeditor.cpp b/core/pim/todo/otaskeditor.cpp
index eeb3c0c..e6ebf60 100644
--- a/core/pim/todo/otaskeditor.cpp
+++ b/core/pim/todo/otaskeditor.cpp
@@ -1,100 +1,93 @@
#include <qdatetime.h>
#include <qlayout.h>
#include <qlabel.h>
#include <qmultilineedit.h>
-#include <qscrollview.h>
#include <opie/orecurrancewidget.h>
-#include "taskeditoroverviewimpl.h"
+#include "taskeditoroverview.h"
#include "taskeditoradvancedimpl.h"
#include "taskeditoralarms.h"
#include "otaskeditor.h"
OTaskEditor::OTaskEditor(int cur)
: QDialog(0, 0, TRUE ) {
init();
init( cur );
}
OTaskEditor::OTaskEditor( const OTodo& to)
: QDialog(0, 0, TRUE ) {
init();
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;
to.setUid(m_uid );
m_overView->save( to );
- m_adv->save( to );
+ //m_adv->save( to );
to.setRecurrence( m_rec->recurrence() );
return to;
}
void OTaskEditor::load(const OTodo& to) {
m_overView->load( to );
- m_adv->load( to );
+ //m_adv->load( to );
m_rec->setRecurrence( to.recurrence(), to.hasDueDate() ? to.dueDate() : QDate::currentDate() );
}
void OTaskEditor::init() {
- QVBoxLayout* lay = new QVBoxLayout(this );
- QScrollView* view = new QScrollView( this );
- view->setResizePolicy( QScrollView::AutoOneFit );
- lay->addWidget( view );
-
setCaption("Task Editor");
- QWidget* container = new QWidget( view->viewport() );
- view->addChild( container );
- QVBoxLayout* layo = new QVBoxLayout( container );
- m_tab = new OTabWidget(container );
+ QVBoxLayout* layo = new QVBoxLayout( this );
+ m_tab = new OTabWidget( this );
layo->addWidget( m_tab );
+
/*
* Add the Widgets
*/
- m_overView = new TaskEditorOverViewImpl(m_tab );
- m_tab->addTab( m_overView, QString::null, tr("Overview") );
+ m_overView = new TaskEditorOverView( m_tab );
+ m_tab->addTab( m_overView, "TodoList", tr("Overview") );
m_adv = new TaskEditorAdvancedImpl( m_tab );
- m_tab->addTab( m_adv, QString::null, tr("Advanced") );
+ m_tab->addTab( m_adv, "todo/advanced", tr("Advanced") );
m_alarm = new TaskEditorAlarms( m_tab );
- m_tab->addTab( m_alarm, QString::null, tr("Alarms") );
+ m_tab->addTab( m_alarm, "todo/alarm", tr("Alarms") );
m_remind = new TaskEditorAlarms( m_tab );
- m_tab->addTab( m_remind, QString::null, tr("Reminders") );
+ m_tab->addTab( m_remind, "todo/reminder", tr("Reminders") );
- QLabel* lbl = new QLabel(m_tab );
+ QLabel* lbl = new QLabel( m_tab );
lbl->setText( tr("X-Ref") );
- m_tab->addTab( lbl, QString::null, tr("X-Ref") );
+ m_tab->addTab( lbl, "todo/xref", tr("X-Ref") );
m_rec = new ORecurranceWidget( true, QDate::currentDate(), this );
- m_tab->addTab( m_rec, QString::null, tr("Recurrance") );
+ m_tab->addTab( m_rec, "repeat", tr("Recurrance") );
/* signal and slots */
connect(m_overView, SIGNAL(recurranceEnabled(bool) ),
m_rec, SLOT(setEnabled(bool) ) );
/* connect due date changed to the recurrence tab */
connect(m_overView, SIGNAL(dueDateChanged(const QDate&) ),
m_rec, SLOT(setStartDate(const QDate& ) ) );
m_tab->setCurrentTab( m_overView );
}
diff --git a/core/pim/todo/otaskeditor.h b/core/pim/todo/otaskeditor.h
index b43abbf..d13e157 100644
--- a/core/pim/todo/otaskeditor.h
+++ b/core/pim/todo/otaskeditor.h
@@ -1,43 +1,44 @@
#ifndef OPIE_TASK_EDITOR_H
#define OPIE_TASK_EDITOR_H
#include <qdialog.h>
#include <opie/otodo.h>
#include <opie/otabwidget.h>
-class TaskEditorOverViewImpl;
+class TaskEditorOverView;
class TaskEditorAdvancedImpl;
class TaskEditorAlarms;
class ORecurranceWidget;
class QMultiLineEdit;
+
class OTaskEditor : public QDialog {
Q_OBJECT
public:
OTaskEditor(int cur);
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& );
void init();
- OTabWidget *m_tab;
- TaskEditorOverViewImpl* m_overView;
+ OTabWidget *m_tab;
+ TaskEditorOverView *m_overView;
TaskEditorAdvancedImpl *m_adv;
- TaskEditorAlarms *m_alarm;
- TaskEditorAlarms* m_remind;
- ORecurranceWidget* m_rec;
- int m_uid;
+ TaskEditorAlarms *m_alarm;
+ TaskEditorAlarms *m_remind;
+ ORecurranceWidget *m_rec;
+ int m_uid;
};
#endif
diff --git a/core/pim/todo/quickeditimpl.cpp b/core/pim/todo/quickeditimpl.cpp
index 7664ee4..91d3131 100644
--- a/core/pim/todo/quickeditimpl.cpp
+++ b/core/pim/todo/quickeditimpl.cpp
@@ -1,66 +1,67 @@
#include <qaction.h>
#include <qlineedit.h>
#include <qwhatsthis.h>
#include <qpe/resource.h>
#include <opie/oclickablelabel.h>
#include "mainwindow.h"
#include "quickeditimpl.h"
QuickEditImpl::QuickEditImpl( QWidget* parent, bool visible )
: QPEToolBar( (QMainWindow *)parent ), Todo::QuickEdit( (Todo::MainWindow *)parent ) {
setHorizontalStretchable( TRUE );
// Load priority icons
- // TODO - probably should be done globally somewhere else, see also tableview.cpp/h
+ // TODO - probably should be done globally somewhere else,
+ // see also tableview.cpp/h, taskeditoroverview.cpp/h
priority1 = Resource::loadPixmap( "todo/priority1" );
priority3 = Resource::loadPixmap( "todo/priority3" );
priority5 = Resource::loadPixmap( "todo/priority5" );
m_lbl = new OClickableLabel( this );
m_lbl->setMinimumWidth( 15 );
m_lbl->setPixmap( priority3 );
connect(m_lbl, SIGNAL(clicked() ), this, SLOT(slotPrio()) );
QWhatsThis::add( m_lbl, tr( "Click here to set the priority of new task.\n\nThis area is called the quick task bar.\n\nIt allows you to quickly add a new task to your list. This area can be shown or hidden by selecting Options->'Show quick task bar' from the menu above." ) );
m_edit = new QLineEdit( this );
setStretchableWidget( m_edit );
QWhatsThis::add( m_edit, tr( "Enter description of new task here.\n\nThis area is called the quick task bar.\n\nIt allows you to quickly add a new task to your list. This area can be shown or hidden by selecting Options->'Show quick task bar' from the menu above." ) );
QAction *a = new QAction( tr( "More" ), Resource::loadPixmap( "todo/more" ), QString::null, 0, this, 0 );
connect( a, SIGNAL( activated() ), this, SLOT( slotMore() ) );
a->addTo( this );
a->setWhatsThis( tr( "Click here to enter additional information for new task.\n\nThis area is called the quick task bar.\n\nIt allows you to quickly add a new task to your list. This area can be shown or hidden by selecting Options->'Show quick task bar' from the menu above." ) );
a = new QAction( tr( "Enter" ), Resource::loadPixmap( "enter" ), QString::null, 0, this, 0 );
connect( a, SIGNAL( activated() ), this, SLOT( slotEnter() ) );
a->addTo( this );
a->setWhatsThis( tr( "Click here to add new task.\n\nThis area is called the quick task bar.\n\nIt allows you to quickly add a new task to your list. This area can be shown or hidden by selecting Options->'Show quick task bar' from the menu above." ) );
a = new QAction( tr( "Cancel" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
connect( a, SIGNAL( activated() ), this, SLOT( slotCancel() ) );
a->addTo( this );
a->setWhatsThis( tr( "Click here to reset new task information.\n\nThis area is called the quick task bar.\n\nIt allows you to quickly add a new task to your list. This area can be shown or hidden by selecting Options->'Show quick task bar' from the menu above." ) );
m_visible = visible;
if ( !m_visible ) {
hide();
}
m_menu = 0l;
reinit();
}
QuickEditImpl::~QuickEditImpl() {
}
OTodo QuickEditImpl::todo()const {
return m_todo;
}
QWidget* QuickEditImpl::widget() {
return this;
}
void QuickEditImpl::slotEnter() {
OTodo todo;
diff --git a/core/pim/todo/tableview.cpp b/core/pim/todo/tableview.cpp
index cd6740a..48b4dcc 100644
--- a/core/pim/todo/tableview.cpp
+++ b/core/pim/todo/tableview.cpp
@@ -16,97 +16,98 @@
  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.=       =       ; Library General Public License for more
++=   -.     .`     .: details.
 :     =  ...= . :.=-
 -.   .:....=;==+<; You should have received a copy of the GNU
  -_. . .   )=.  = Library General Public License along with
    --        :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <stdlib.h>
#include <cmath>
#include <qcombobox.h>
#include <qlineedit.h>
#include <qtimer.h>
#include <qpoint.h>
#include <qpopupmenu.h>
#include <qpe/config.h>
#include <qpe/resource.h>
#include <opie/orecur.h>
#include "mainwindow.h"
//#include "tableitems.h"
#include "tableview.h"
using namespace Todo;
namespace {
static const int BoxSize = 14;
static const int RowHeight = 20;
}
void TableView::initConfig() {
Config config( "todo" );
config.setGroup( "Options" );
m_completeStrokeWidth = config.readNumEntry( "CompleteStrokeWidth", 8 );
}
TableView::TableView( MainWindow* window, QWidget* wid )
: QTable( wid ), TodoView( window ) {
// Load icons
- // TODO - probably should be done globally somewhere else, see also quickeditimpl.cpp/h
+ // TODO - probably should be done globally somewhere else,
+ // see also quickeditimpl.cpp/h, taskeditoroverview.cpp/h
m_pic_completed = Resource::loadPixmap( "todo/completed" );
QString namestr;
for ( unsigned int i = 1; i < 6; i++ ) {
namestr = "todo/priority";
namestr.append( QString::number( i ) );
m_pic_priority[ i - 1 ] = Resource::loadPixmap( namestr );
}
setUpdatesEnabled( false );
viewport()->setUpdatesEnabled( false );
m_enablePaint = false;
setNumRows(0);
setNumCols(4);
horizontalHeader()->setLabel( 0, tr("C.") );
horizontalHeader()->setLabel( 1, tr("Priority") );
horizontalHeader()->setLabel( 2, tr("Description" ) );
horizontalHeader()->setLabel( 3, tr("Deadline") );
setShowDeadline( todoWindow()->showDeadline() );
setSorting( TRUE );
setSelectionMode( NoSelection );
setLeftMargin( 0 );
verticalHeader()->hide();
connect((QTable*)this, SIGNAL( clicked( int, int, int, const QPoint& ) ),
this, SLOT( slotClicked(int, int, int, const QPoint& ) ) );
connect((QTable*)this, SIGNAL( pressed( int, int, int, const QPoint& ) ),
this, SLOT( slotPressed(int, int, int, const QPoint& ) ) );
connect((QTable*)this, SIGNAL(valueChanged(int, int) ),
this, SLOT( slotValueChanged(int, int) ) );
connect((QTable*)this, SIGNAL(currentChanged(int, int) ),
this, SLOT( slotCurrentChanged(int, int) ) );
m_menuTimer = new QTimer( this );
connect( m_menuTimer, SIGNAL(timeout()),
this, SLOT(slotShowMenu()) );
m_enablePaint = true;
setUpdatesEnabled( true );
viewport()->setUpdatesEnabled( true );
viewport()->update();
setSortOrder( 0 );
setAscending( TRUE );
m_first = true;
diff --git a/core/pim/todo/taskeditoralarms.cpp b/core/pim/todo/taskeditoralarms.cpp
new file mode 100644
index 0000000..3cb5576
--- a/dev/null
+++ b/core/pim/todo/taskeditoralarms.cpp
@@ -0,0 +1,76 @@
+/*
+               =. This file is part of the OPIE Project
+             .=l. Copyright (c) 2002 <>
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU General Public
+.="- .-=="i,     .._ License as published by the Free Software
+ - .   .-<_>     .<> Foundation; either version 2 of the License,
+     ._= =}       : or (at your option) any later version.
+    .%`+i>       _;_.
+    .i_,=:_.      -<s. This program is distributed in the hope that
+     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
+    : ..    .:,     . . . without even the implied warranty of
+    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
+  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
+..}^=.=       =       ; Library General Public License for more
+++=   -.     .`     .: details.
+ :     =  ...= . :.=-
+ -.   .:....=;==+<; You should have received a copy of the GNU
+  -_. . .   )=.  = General Public License along with
+    --        :-=` this library; see the file COPYING.LIB.
+ If not, write to the Free Software Foundation,
+ Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+*/
+
+#include "taskeditoralarms.h"
+
+#include <qpe/resource.h>
+
+#include <qlistview.h>
+#include <qpushbutton.h>
+#include <qlayout.h>
+#include <qwhatsthis.h>
+
+TaskEditorAlarms::TaskEditorAlarms( QWidget* parent, const char* name, WFlags fl )
+ : QWidget( parent, name, fl )
+{
+ QGridLayout *layout = new QGridLayout( this, 2, 3, 4, 4 );
+
+ lstAlarms = new QListView( this );
+ layout->addMultiCellWidget( lstAlarms, 0, 0, 0, 2 );
+
+ QPushButton *btn = new QPushButton( Resource::loadPixmap( "new" ), tr( "New" ), this );
+ //QWhatsThis::add( btn, tr( "Click here to add a new transaction." ) );
+ //connect( btn, SIGNAL( clicked() ), this, SLOT( slotNew() ) );
+ layout->addWidget( btn, 1, 0 );
+
+ btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Edit" ), this );
+ //QWhatsThis::add( btn, tr( "Select a transaction and then click here to edit it." ) );
+ //connect( btn, SIGNAL( clicked() ), this, SLOT( slotEdit() ) );
+ layout->addWidget( btn, 1, 1 );
+
+ btn = new QPushButton( Resource::loadPixmap( "trash" ), tr( "Delete" ), this );
+ //QWhatsThis::add( btn, tr( "Select a checkbook and then click here to delete it." ) );
+ //connect( btn, SIGNAL( clicked() ), this, SLOT( slotDelete() ) );
+ layout->addWidget( btn, 1, 2 );
+}
+
+TaskEditorAlarms::~TaskEditorAlarms()
+{
+}
+
+void TaskEditorAlarms::slotNew()
+{
+}
+
+void TaskEditorAlarms::slotEdit()
+{
+}
+
+void TaskEditorAlarms::slotDelete()
+{
+}
diff --git a/core/pim/todo/taskeditoralarms.h b/core/pim/todo/taskeditoralarms.h
new file mode 100644
index 0000000..f77ded5
--- a/dev/null
+++ b/core/pim/todo/taskeditoralarms.h
@@ -0,0 +1,52 @@
+/*
+               =. This file is part of the OPIE Project
+             .=l. Copyright (c) 2002 <>
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU General Public
+.="- .-=="i,     .._ License as published by the Free Software
+ - .   .-<_>     .<> Foundation; either version 2 of the License,
+     ._= =}       : or (at your option) any later version.
+    .%`+i>       _;_.
+    .i_,=:_.      -<s. This program is distributed in the hope that
+     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
+    : ..    .:,     . . . without even the implied warranty of
+    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
+  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
+..}^=.=       =       ; Library General Public License for more
+++=   -.     .`     .: details.
+ :     =  ...= . :.=-
+ -.   .:....=;==+<; You should have received a copy of the GNU
+  -_. . .   )=.  = General Public License along with
+    --        :-=` this library; see the file COPYING.LIB.
+ If not, write to the Free Software Foundation,
+ Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+*/
+
+#ifndef TASKEDITORALARMS_H
+#define TASKEDITORALARMS_H
+
+#include <qwidget.h>
+
+class QListView;
+
+class TaskEditorAlarms : public QWidget
+{
+ Q_OBJECT
+
+public:
+ TaskEditorAlarms( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
+ ~TaskEditorAlarms();
+
+ QListView* lstAlarms;
+
+protected slots:
+ void slotNew();
+ void slotEdit();
+ void slotDelete();
+};
+
+#endif // TASKEDITORALARMS_H
diff --git a/core/pim/todo/taskeditoralarms.ui b/core/pim/todo/taskeditoralarms.ui
deleted file mode 100644
index 9f8f58b..0000000
--- a/core/pim/todo/taskeditoralarms.ui
+++ b/dev/null
@@ -1,144 +0,0 @@
-<!DOCTYPE UI><UI>
-<class>TaskEditorAlarms</class>
-<author>zecke</author>
-<widget>
- <class>QWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>TaskEditorAlarms</cstring>
- </property>
- <property stdset="1">
- <name>geometry</name>
- <rect>
- <x>0</x>
- <y>0</y>
- <width>195</width>
- <height>271</height>
- </rect>
- </property>
- <property>
- <name>layoutMargin</name>
- </property>
- <grid>
- <property stdset="1">
- <name>margin</name>
- <number>8</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget row="0" column="0" >
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout19</cstring>
- </property>
- <vbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget>
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>txtAlarm</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>empty</string>
- </property>
- </widget>
- <widget>
- <class>QListView</class>
- <property stdset="1">
- <name>name</name>
- <cstring>lstAlarms</cstring>
- </property>
- </widget>
- </vbox>
- </widget>
- <widget row="1" column="0" >
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout23</cstring>
- </property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget>
- <class>QPushButton</class>
- <property stdset="1">
- <name>name</name>
- <cstring>alAdd</cstring>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>4</hsizetype>
- <vsizetype>0</vsizetype>
- </sizepolicy>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>&amp;Add</string>
- </property>
- <property stdset="1">
- <name>autoResize</name>
- <bool>true</bool>
- </property>
- </widget>
- <widget>
- <class>QPushButton</class>
- <property stdset="1">
- <name>name</name>
- <cstring>alEdit</cstring>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>4</hsizetype>
- <vsizetype>0</vsizetype>
- </sizepolicy>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>&amp;Edit</string>
- </property>
- <property stdset="1">
- <name>autoResize</name>
- <bool>true</bool>
- </property>
- </widget>
- <widget>
- <class>QPushButton</class>
- <property stdset="1">
- <name>name</name>
- <cstring>alRemove</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>&amp;Remove</string>
- </property>
- <property stdset="1">
- <name>autoResize</name>
- <bool>true</bool>
- </property>
- </widget>
- </hbox>
- </widget>
- </grid>
-</widget>
-</UI>
diff --git a/core/pim/todo/taskeditoroverview.cpp b/core/pim/todo/taskeditoroverview.cpp
new file mode 100644
index 0000000..9aab76a
--- a/dev/null
+++ b/core/pim/todo/taskeditoroverview.cpp
@@ -0,0 +1,317 @@
+/*
+               =. This file is part of the OPIE Project
+             .=l. Copyright (c) 2002 <>
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU General Public
+.="- .-=="i,     .._ License as published by the Free Software
+ - .   .-<_>     .<> Foundation; either version 2 of the License,
+     ._= =}       : or (at your option) any later version.
+    .%`+i>       _;_.
+    .i_,=:_.      -<s. This program is distributed in the hope that
+     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
+    : ..    .:,     . . . without even the implied warranty of
+    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
+  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
+..}^=.=       =       ; Library General Public License for more
+++=   -.     .`     .: details.
+ :     =  ...= . :.=-
+ -.   .:....=;==+<; You should have received a copy of the GNU
+  -_. . .   )=.  = General Public License along with
+    --        :-=` this library; see the file COPYING.LIB.
+ If not, write to the Free Software Foundation,
+ Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+*/
+
+#include "taskeditoroverview.h"
+
+#include <opie/orecur.h>
+
+#include <qpe/categoryselect.h>
+#include <qpe/datebookmonth.h>
+#include <qpe/resource.h>
+#include <qpe/timestring.h>
+
+#include <qcheckbox.h>
+#include <qcombobox.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qpushbutton.h>
+#include <qtooltip.h>
+#include <qvariant.h>
+#include <qwhatsthis.h>
+
+TaskEditorOverView::TaskEditorOverView( QWidget* parent, const char* name, WFlags fl )
+ : QWidget( parent, name, fl )
+{
+ // Load icons
+ // TODO - probably should be done globally somewhere else,
+ // see also quickeditimpl.cpp/h, tableview.cpp/h
+ QString namestr;
+ for ( unsigned int i = 1; i < 6; i++ ) {
+ namestr = "todo/priority";
+ namestr.append( QString::number( i ) );
+ m_pic_priority[ i - 1 ] = Resource::loadPixmap( namestr );
+ }
+
+ QDate curDate = QDate::currentDate();
+ m_start = m_comp = m_due = curDate;
+ QString curDateStr = TimeString::longDateString( curDate );
+
+ // TODO - add QScrollView for contents
+ QVBoxLayout *vb = new QVBoxLayout( this );
+
+ QScrollView *sv = new QScrollView( this );
+ vb->addWidget( sv );
+ sv->setResizePolicy( QScrollView::AutoOneFit );
+ sv->setFrameStyle( QFrame::NoFrame );
+
+ QWidget *container = new QWidget( sv->viewport() );
+ sv->addChild( container );
+
+ QGridLayout *layout = new QGridLayout( container, 10, 2, 4, 4 );
+
+ // Summary
+ QLabel *label = new QLabel( tr( "Summary:" ), container );
+ layout->addWidget( label, 0, 0 );
+ cmbSum = new QComboBox( TRUE, container );
+ cmbSum->insertItem( tr( "Complete " ) );
+ cmbSum->insertItem( tr( "Work on " ) );
+ cmbSum->insertItem( tr( "Buy " ) );
+ cmbSum->insertItem( tr( "Organize " ) );
+ cmbSum->insertItem( tr( "Get " ) );
+ cmbSum->insertItem( tr( "Update " ) );
+ cmbSum->insertItem( tr( "Create " ) );
+ cmbSum->insertItem( tr( "Plan " ) );
+ cmbSum->insertItem( tr( "Call " ) );
+ cmbSum->insertItem( tr( "Mail " ) );
+ cmbSum->clearEdit();
+ layout->addMultiCellWidget( cmbSum, 1, 1, 0, 1 );
+
+ // Priority
+ label = new QLabel( tr( "Priority:" ), container );
+ layout->addWidget( label, 2, 0 );
+ cmbPrio = new QComboBox( FALSE, container );
+ cmbPrio->setMinimumHeight( 26 );
+ cmbPrio->insertItem( m_pic_priority[ 0 ], tr( "Very High" ) );
+ cmbPrio->insertItem( m_pic_priority[ 1 ], tr( "High" ) );
+ cmbPrio->insertItem( m_pic_priority[ 2 ], tr( "Normal" ) );
+ cmbPrio->insertItem( m_pic_priority[ 3 ], tr( "Low" ) );
+ cmbPrio->insertItem( m_pic_priority[ 4 ], tr( "Very Low" ) );
+ cmbPrio->setCurrentItem( 2 );
+ layout->addWidget( cmbPrio, 2, 1 );
+
+ // Category
+ label = new QLabel( tr( "Category:" ), container );
+ layout->addWidget( label, 3, 0 );
+ comboCategory = new CategorySelect( container );
+ layout->addWidget( comboCategory, 3, 1 );
+
+ // Recurrance
+ CheckBox7 = new QCheckBox( tr( "Recurring task" ), container );
+ layout->addMultiCellWidget( CheckBox7, 4, 4, 0, 1 );
+ connect( CheckBox7, SIGNAL(clicked() ), this, SLOT( slotRecClicked() ) );
+
+ QSpacerItem *spacer = new QSpacerItem( 5, 5, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding );
+ layout->addItem( spacer, 5, 0 );
+
+ // Start date
+ ckbStart = new QCheckBox( tr( "Start Date:" ), container );
+ layout->addWidget( ckbStart, 6, 0 );
+ connect( ckbStart, SIGNAL( clicked() ), this, SLOT( slotStartChecked() ) );
+ btnStart = new QPushButton( curDateStr, container );
+ btnStart->setEnabled( FALSE );
+ layout->addWidget( btnStart, 6, 1 );
+
+ QPopupMenu *popup = new QPopupMenu( this );
+ m_startBook = new DateBookMonth( popup, 0, TRUE );
+ popup->insertItem( m_startBook );
+ btnStart->setPopup( popup );
+ connect( m_startBook, SIGNAL( dateClicked( int, int, int ) ),
+ this, SLOT( slotStartChanged( int, int, int ) ) );
+
+ // Due date
+ ckbDue = new QCheckBox( tr( "Due Date:" ), container );
+ layout->addWidget( ckbDue, 7, 0 );
+ connect( ckbDue, SIGNAL( clicked() ), this, SLOT( slotDueChecked() ) );
+ btnDue = new QPushButton( curDateStr, container );
+ btnDue->setEnabled( FALSE );
+ layout->addWidget( btnDue, 7, 1 );
+
+ popup = new QPopupMenu( this );
+ m_dueBook = new DateBookMonth( popup, 0, TRUE );
+ popup->insertItem( m_dueBook );
+ btnDue->setPopup( popup );
+ connect( m_dueBook, SIGNAL( dateClicked( int, int, int ) ),
+ this, SLOT( slotDueChanged( int, int, int ) ) );
+
+ // Progress
+ label = new QLabel( tr( "Progress:" ), container );
+ layout->addWidget( label, 8, 0 );
+ cmbProgress = new QComboBox( FALSE, container );
+ cmbProgress->insertItem( tr( "0 %" ) );
+ cmbProgress->insertItem( tr( "20 %" ) );
+ cmbProgress->insertItem( tr( "40 %" ) );
+ cmbProgress->insertItem( tr( "60 %" ) );
+ cmbProgress->insertItem( tr( "80 %" ) );
+ cmbProgress->insertItem( tr( "100 %" ) );
+ layout->addWidget( cmbProgress, 8, 1 );
+
+ // Completed
+ ckbComp = new QCheckBox( tr( "Completed:" ), container );
+ layout->addWidget( ckbComp, 9, 0 );
+ connect( ckbComp, SIGNAL( clicked() ), this, SLOT( slotCompChecked() ) );
+ btnComp = new QPushButton( curDateStr, container );
+ btnComp->setEnabled( FALSE );
+ layout->addWidget( btnComp, 9, 1 );
+
+ popup = new QPopupMenu( this );
+ m_compBook = new DateBookMonth( popup, 0, TRUE );
+ popup->insertItem( m_compBook );
+ btnComp->setPopup( popup );
+ connect( m_compBook, SIGNAL( dateClicked( int, int, int ) ),
+ this, SLOT( slotCompChanged( int, int, int ) ) );
+}
+
+TaskEditorOverView::~TaskEditorOverView()
+{
+}
+
+void TaskEditorOverView::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 );
+
+ /*
+ * get some basic dateinfos for now
+ */
+ QDate date = QDate::currentDate();
+ QString str = TimeString::longDateString( date );
+
+ CheckBox7->setChecked( todo.recurrence().doesRecur() );
+ emit recurranceEnabled( todo.recurrence().doesRecur() );
+
+ ckbStart->setChecked( todo.hasStartDate() );
+ btnStart->setEnabled( todo.hasStartDate() );
+ if ( todo.hasStartDate() )
+ {
+ m_start = todo.startDate();
+ btnStart->setText( TimeString::longDateString( m_start ) );
+ }
+ else
+ btnStart->setText( str );
+
+ ckbComp->setChecked( todo.hasCompletedDate() );
+ btnComp->setEnabled( todo.hasCompletedDate() );
+ if ( todo.hasCompletedDate() )
+ {
+ m_comp = todo.completedDate();
+ btnComp->setText( TimeString::longDateString( m_comp ) );
+ }
+ else
+ btnComp->setText( str );
+
+ cmbProgress->setCurrentItem( todo.progress() / 20 );
+ cmbSum->insertItem( todo.summary(), 0 );
+ cmbSum->setCurrentItem( 0 );
+
+ ckbDue->setChecked( todo.hasDueDate() );
+ btnDue->setText( TimeString::longDateString( todo.dueDate() ) );
+ btnDue->setEnabled( todo.hasDueDate() );
+ m_due = todo.dueDate();
+
+ cmbPrio->setCurrentItem( todo.priority() - 1 );
+ ckbComp->setChecked( todo.isCompleted() );
+
+ comboCategory->setCategories( todo.categories(), "Todo List", tr( "Todo List" ) );
+}
+
+void TaskEditorOverView::save( OTodo &to )
+{
+ /* a invalid date */
+ QDate inval;
+ /* save our info back */
+
+ /* due date */
+ if ( ckbDue->isChecked() )
+ {
+ to.setDueDate( m_due );
+ to.setHasDueDate( true );
+ }
+ else
+ to.setHasDueDate( false );
+
+ /* start date */
+ if ( ckbStart->isChecked() )
+ {
+ to.setStartDate( m_start );
+ }
+ else
+ to.setStartDate( inval );
+
+ /* comp date */
+ if ( ckbComp->isChecked() )
+ {
+ to.setCompletedDate( m_comp );
+ }
+ else
+ to.setCompletedDate( inval );
+
+
+ if ( comboCategory->currentCategory() != -1 )
+ {
+ QArray<int> arr = comboCategory->currentCategories();
+ to.setCategories( arr );
+ }
+ to.setPriority( cmbPrio->currentItem() + 1 );
+ to.setCompleted( ckbComp->isChecked() );
+ to.setSummary( cmbSum->currentText() );
+ to.setProgress( cmbProgress->currentItem() * 20 );
+}
+
+void TaskEditorOverView::slotRecClicked()
+{
+ emit recurranceEnabled( CheckBox7->isChecked() );
+}
+
+void TaskEditorOverView::slotStartChecked()
+{
+ btnStart->setEnabled( ckbStart->isChecked() );
+}
+
+void TaskEditorOverView::slotCompChecked()
+{
+ btnComp->setEnabled( ckbComp->isChecked() );
+}
+
+void TaskEditorOverView::slotDueChecked()
+{
+ btnDue->setEnabled( ckbDue->isChecked() );
+}
+
+void TaskEditorOverView::slotStartChanged(int y, int m, int d)
+{
+ m_start.setYMD( y, m, d );
+ btnStart->setText( TimeString::longDateString( m_start ) );
+}
+
+void TaskEditorOverView::slotCompChanged(int y, int m, int d)
+{
+ m_comp.setYMD( y, m, d );
+ btnComp->setText( TimeString::longDateString( m_comp ) );
+}
+
+void TaskEditorOverView::slotDueChanged(int y, int m, int d)
+{
+ m_due.setYMD( y, m, d );
+ btnDue->setText( TimeString::longDateString( m_due ) );
+}
diff --git a/core/pim/todo/taskeditoroverview.h b/core/pim/todo/taskeditoroverview.h
new file mode 100644
index 0000000..223b72c
--- a/dev/null
+++ b/core/pim/todo/taskeditoroverview.h
@@ -0,0 +1,92 @@
+/*
+               =. This file is part of the OPIE Project
+             .=l. Copyright (c) 2002 <>
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU General Public
+.="- .-=="i,     .._ License as published by the Free Software
+ - .   .-<_>     .<> Foundation; either version 2 of the License,
+     ._= =}       : or (at your option) any later version.
+    .%`+i>       _;_.
+    .i_,=:_.      -<s. This program is distributed in the hope that
+     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
+    : ..    .:,     . . . without even the implied warranty of
+    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
+  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
+..}^=.=       =       ; Library General Public License for more
+++=   -.     .`     .: details.
+ :     =  ...= . :.=-
+ -.   .:....=;==+<; You should have received a copy of the GNU
+  -_. . .   )=.  = General Public License along with
+    --        :-=` this library; see the file COPYING.LIB.
+ If not, write to the Free Software Foundation,
+ Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+*/
+
+#ifndef TASKEDITOROVERVIEW_H
+#define TASKEDITOROVERVIEW_H
+
+#include <opie/otodo.h>
+
+#include <qdatetime.h>
+#include <qpixmap.h>
+#include <qwidget.h>
+
+class CategorySelect;
+class DateBookMonth;
+class QCheckBox;
+class QComboBox;
+class QPushButton;
+
+class TaskEditorOverView : public QWidget
+{
+ Q_OBJECT
+
+public:
+ TaskEditorOverView( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
+ ~TaskEditorOverView();
+
+ QComboBox *cmbSum;
+ QComboBox *cmbPrio;
+ QComboBox *cmbProgress;
+ QCheckBox *ckbDue;
+ QPushButton *btnDue;
+ QCheckBox *ckbStart;
+ QPushButton *btnStart;
+ QCheckBox *ckbComp;
+ QPushButton *btnComp;
+ CategorySelect *comboCategory;
+ QCheckBox *CheckBox7;
+
+ void load( const OTodo & );
+ void save( OTodo & );
+
+signals:
+ void recurranceEnabled( bool );
+ void dueDateChanged( const QDate& date );
+
+protected:
+ QPixmap m_pic_priority[ 5 ];
+
+private:
+ QDate m_start;
+ QDate m_comp;
+ QDate m_due;
+ DateBookMonth *m_startBook;
+ DateBookMonth *m_compBook;
+ DateBookMonth *m_dueBook;
+
+protected slots:
+ void slotRecClicked();
+ void slotStartChecked();
+ void slotCompChecked();
+ void slotDueChecked();
+ void slotStartChanged( int, int, int );
+ void slotCompChanged( int, int, int );
+ void slotDueChanged( int, int, int );
+};
+
+#endif // TASKEDITOROVERVIEW_H
diff --git a/core/pim/todo/taskeditoroverview.ui b/core/pim/todo/taskeditoroverview.ui
deleted file mode 100644
index a6bf645..0000000
--- a/core/pim/todo/taskeditoroverview.ui
+++ b/dev/null
@@ -1,542 +0,0 @@
-<!DOCTYPE UI><UI>
-<class>TaskEditorOverView</class>
-<author>zecke</author>
-<widget>
- <class>QWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>TaskEditorOverView</cstring>
- </property>
- <property stdset="1">
- <name>geometry</name>
- <rect>
- <x>0</x>
- <y>0</y>
- <width>308</width>
- <height>445</height>
- </rect>
- </property>
- <property stdset="1">
- <name>caption</name>
- <string>Form1</string>
- </property>
- <property>
- <name>layoutMargin</name>
- </property>
- <grid>
- <property stdset="1">
- <name>margin</name>
- <number>4</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget row="5" column="0" rowspan="1" colspan="2" >
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout11</cstring>
- </property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget>
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>txtPrio</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Priority</string>
- </property>
- </widget>
- <widget>
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>1 - Very High</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>2 - High</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>3 - Normal</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>4 - Low</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>5 - Very Low</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>cmbPrio</cstring>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget row="4" column="0" rowspan="1" colspan="2" >
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout11</cstring>
- </property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget>
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>txtProgress</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Progress</string>
- </property>
- </widget>
- <widget>
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>0 %</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>20 %</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>40 %</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>60 %</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>80 %</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>100 %</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>cmbProgress</cstring>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget row="2" column="0" rowspan="1" colspan="2" >
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout9</cstring>
- </property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget>
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>ckbDue</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Due Date:</string>
- </property>
- </widget>
- <widget>
- <class>QPushButton</class>
- <property stdset="1">
- <name>name</name>
- <cstring>btnDue</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>1 Januar 2002</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget row="1" column="0" rowspan="1" colspan="2" >
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout8</cstring>
- </property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget>
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>ckbStart</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Start Date:</string>
- </property>
- </widget>
- <widget>
- <class>QPushButton</class>
- <property stdset="1">
- <name>name</name>
- <cstring>btnStart</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>1 Januar 2001</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget row="0" column="0" rowspan="1" colspan="2" >
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout7</cstring>
- </property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget>
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>lblSum</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Summary</string>
- </property>
- </widget>
- <widget>
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>Complete</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>work on</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>buy</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>organize</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>get</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Update</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Create</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Plan</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Call</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Mail</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>cmbSum</cstring>
- </property>
- <property stdset="1">
- <name>editable</name>
- <bool>true</bool>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget row="3" column="0" rowspan="1" colspan="2" >
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout10</cstring>
- </property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget>
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>ckbComp</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>true</bool>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Completed Date</string>
- </property>
- </widget>
- <widget>
- <class>QPushButton</class>
- <property stdset="1">
- <name>name</name>
- <cstring>btnComp</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>1 Januar 2002</string>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget row="6" column="0" >
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>ckbCompleted</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Completed</string>
- </property>
- </widget>
- <widget row="7" column="0" rowspan="1" colspan="2" >
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout12</cstring>
- </property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget>
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>txtCategory</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Category</string>
- </property>
- </widget>
- <widget>
- <class>CategorySelect</class>
- <property stdset="1">
- <name>name</name>
- <cstring>comboCategory</cstring>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
- </sizepolicy>
- </property>
- <property stdset="1">
- <name>minimumSize</name>
- <size>
- <width>60</width>
- <height>20</height>
- </size>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget row="8" column="0" rowspan="1" colspan="2" >
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>CheckBox7</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Enable Recurrance</string>
- </property>
- </widget>
- <spacer row="9" column="1" >
- <property>
- <name>name</name>
- <cstring>Spacer1</cstring>
- </property>
- <property stdset="1">
- <name>orientation</name>
- <enum>Vertical</enum>
- </property>
- <property stdset="1">
- <name>sizeType</name>
- <enum>Expanding</enum>
- </property>
- <property>
- <name>sizeHint</name>
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </grid>
-</widget>
-<customwidgets>
- <customwidget>
- <class>CategorySelect</class>
- <header location="global">qpe/categoryselect.h</header>
- <sizehint>
- <width>-1</width>
- <height>-1</height>
- </sizehint>
- <container>0</container>
- <sizepolicy>
- <hordata>7</hordata>
- <verdata>1</verdata>
- </sizepolicy>
- <pixmap>image0</pixmap>
- </customwidget>
-</customwidgets>
-<images>
- <image>
- <name>image0</name>
- <data format="XPM.GZ" length="646">789c6dd2c10ac2300c00d07bbf2234b7229d1be245fc04c5a3201e4615f430059d0711ff5ddb2e6bb236ec90eed134cb5a19d8ef36602af5ecdbfeeac05dda0798d3abebde87e3faa374d3807fa0d633a52d38d8de6f679fe33fc776e196f53cd010188256a3600a292882096246517815ca99884606e18044a3a40d91824820924265a7923a2e8bcd05f33db1173e002913175f2a6be6d3294871a2d95fa00e8a94ee017b69d339d90df1e77c57ea072ede6758</data>
- </image>
-</images>
-<connections>
- <connection>
- <sender>ckbStart</sender>
- <signal>clicked()</signal>
- <receiver>TaskEditorOverView</receiver>
- <slot>slotStartChecked()</slot>
- </connection>
- <connection>
- <sender>ckbDue</sender>
- <signal>clicked()</signal>
- <receiver>TaskEditorOverView</receiver>
- <slot>slotDueChecked()</slot>
- </connection>
- <connection>
- <sender>ckbComp</sender>
- <signal>clicked()</signal>
- <receiver>TaskEditorOverView</receiver>
- <slot>slotCompletedChecked()</slot>
- </connection>
- <slot access="protected">slotCompletedChecked()</slot>
- <slot access="protected">slotDueChecked()</slot>
- <slot access="protected">slotStartChecked()</slot>
-</connections>
-</UI>
diff --git a/core/pim/todo/taskeditoroverviewimpl.cpp b/core/pim/todo/taskeditoroverviewimpl.cpp
deleted file mode 100644
index aef3b1d..0000000
--- a/core/pim/todo/taskeditoroverviewimpl.cpp
+++ b/dev/null
@@ -1,221 +0,0 @@
-#include <qapplication.h>
-#include <qcheckbox.h>
-#include <qcombobox.h>
-#include <qpopupmenu.h>
-
-#include <qpe/datebookmonth.h>
-#include <qpe/categoryselect.h>
-#include <qpe/timestring.h>
-
-#include <opie/orecur.h>
-
-#include "taskeditoroverviewimpl.h"
-
-/*
- * we need to hack
- */
-
-TaskEditorOverViewImpl::TaskEditorOverViewImpl( QWidget* parent, const char* name )
- : TaskEditorOverView( parent, name ) {
- init();
-}
-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 );
-
- /*
- * get some basic dateinfos for now
- */
- QDate date = QDate::currentDate();
- QString str = TimeString::longDateString( date );
-
- CheckBox7->setChecked( todo.recurrence().doesRecur() );
- emit recurranceEnabled( todo.recurrence().doesRecur() );
-
-
- ckbStart->setChecked( todo.hasStartDate() );
- btnStart->setEnabled( todo.hasStartDate() );
- if ( todo.hasStartDate() ) {
- m_start = todo.startDate();
- btnStart->setText( TimeString::longDateString( m_start ) );
- } else
- btnStart->setText( str );
-
- ckbComp->setChecked( todo.hasCompletedDate() );
- btnComp->setEnabled( todo.hasCompletedDate() );
- if ( todo.hasCompletedDate() ) {
- m_comp = todo.completedDate();
- btnComp->setText( TimeString::longDateString( m_comp ) );
- }else
- btnComp->setText( str );
-
- cmbProgress->setCurrentItem( todo.progress()/20 );
- cmbSum->insertItem( todo.summary(), 0 );
- cmbSum->setCurrentItem( 0 );
-
- ckbDue->setChecked( todo.hasDueDate() );
- btnDue->setText( TimeString::longDateString( todo.dueDate() ) );
- btnDue->setEnabled( todo.hasDueDate() );
- m_due = todo.dueDate();
-
- cmbPrio->setCurrentItem( todo.priority() -1 );
- ckbCompleted->setChecked( todo.isCompleted() );
-
- comboCategory->setCategories( todo.categories(), "Todo List", tr("Todo List") );
-
-}
-void TaskEditorOverViewImpl::save( OTodo& to) {
- /* a invalid date */
- QDate inval;
- /* save our info back */
-
- /* due date */
- if ( ckbDue->isChecked() ) {
- to.setDueDate( m_due );
- to.setHasDueDate( true );
- }else
- to.setHasDueDate( false );
-
- /* start date */
- if ( ckbStart->isChecked() ) {
- to.setStartDate( m_start );
- }else
- to.setStartDate( inval );
-
- /* comp date */
- if ( ckbComp->isChecked() ) {
- qWarning("completed checked");
- to.setCompletedDate( m_comp );
- }else
- to.setCompletedDate( inval );
-
-
- if ( comboCategory->currentCategory() != -1 ) {
- QArray<int> arr = comboCategory->currentCategories();
- to.setCategories( arr );
- }
- to.setPriority( cmbPrio->currentItem() + 1 );
- to.setCompleted( ckbCompleted->isChecked() );
- to.setSummary( cmbSum->currentText() );
- to.setProgress( cmbProgress->currentItem() * 20 );
-}
-/*
- * here we will init the basic view
- * one Popup for each Date Button
- * and some other signal and slots connection
- */
-void TaskEditorOverViewImpl::init() {
- QDate curDate = QDate::currentDate();
- 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 );
- m_startPop->insertItem( m_startBook );
- connect( m_startBook, SIGNAL( dateClicked(int, int, int) ),
- this, SLOT(slotStartChanged(int, int, int) ) );
-
-
- /* Due Date Picker */
- m_duePop = new QPopupMenu(this);
- m_dueBook = new DateBookMonth(m_duePop, 0, TRUE );
- m_duePop->insertItem( m_dueBook );
- connect( m_dueBook, SIGNAL( dateClicked(int, int, int) ),
- this, SLOT(slotDueChanged(int, int, int) ) );
-
- m_compPop = new QPopupMenu(this);
- m_compBook = new DateBookMonth(m_compPop, 0, TRUE );
- m_compPop->insertItem(m_compBook );
- connect( m_compBook, SIGNAL(dateClicked(int, int, int) ),
- this, SLOT(slotCompletedChanged(int, int, int) ) );
-
-
- /*
- * another part of the hack
- * it's deprecated in Qt2 but
- * still available in my qt-copy of Qt3.1beta2
- */
- btnDue->setIsMenuButton( TRUE );
- btnStart->setIsMenuButton( TRUE );
- btnComp->setIsMenuButton( TRUE );
-
- /* now connect the hack */
- connect(btnDue, SIGNAL(clicked() ),
- this, SLOT(hackySlotHack2() ) );
- connect(btnStart, SIGNAL(clicked() ),
- this, SLOT(hackySlotHack1() ) );
- connect(btnComp, SIGNAL(clicked() ),
- this, SLOT(hackySlotHack3() ) );
-
- /* recurrance */
- connect(CheckBox7, SIGNAL(clicked() ),
- this, SLOT(slotRecClicked() ) );
-}
-
-void TaskEditorOverViewImpl::slotStartChecked() {
- qWarning("slotStartChecked");
- btnStart->setEnabled( ckbStart->isChecked() );
-}
-void TaskEditorOverViewImpl::slotStartChanged(int y, int m, int d) {
- m_start.setYMD( y, m, d );
- btnStart->setText( TimeString::longDateString( m_start ) );
-}
-void TaskEditorOverViewImpl::slotDueChecked() {
- btnDue->setEnabled( ckbDue->isChecked() );
- emit dueDateChanged( m_due );
- qWarning("slotDueChecked");
-}
-void TaskEditorOverViewImpl::slotDueChanged(int y, int m, int d ) {
- m_due.setYMD(y, m, d );
- btnDue->setText( TimeString::longDateString( m_due ) );
- emit dueDateChanged( m_due );
-}
-void TaskEditorOverViewImpl::slotCompletedChecked() {
- btnComp->setEnabled( ckbComp->isChecked() );
- qWarning("slotCompletedChecked");
-}
-void TaskEditorOverViewImpl::slotCompletedChanged(int y, int m, int d) {
- m_comp.setYMD( y, m, d );
- btnComp->setText( TimeString::longDateString( m_comp ) );
-}
-/*
- * called by a button pressed event...
- * three slots to avoid ugly name() tests
- * to sender()
- */
-void TaskEditorOverViewImpl::hackySlotHack1() {
- btnStart->setDown( FALSE );
- popup( btnStart, m_startPop );
-}
-void TaskEditorOverViewImpl::hackySlotHack2() {
- btnDue->setDown( FALSE );
- popup( btnDue, m_duePop );
-}
-void TaskEditorOverViewImpl::hackySlotHack3() {
- btnComp->setDown( FALSE );
- popup( btnComp, m_compPop );
-}
-void TaskEditorOverViewImpl::slotRecClicked() {
- qWarning("enabled recurrance");
- emit recurranceEnabled( CheckBox7->isChecked() );
-}
-/*
- * GPL from TT QPushButton code
- */
-void TaskEditorOverViewImpl::popup( QPushButton* pu, QPopupMenu* pop) {
- if ( pu->mapToGlobal( QPoint(0, pu->rect().bottom() ) ).y() + pop->sizeHint().height() <= qApp->desktop()->height() )
- pop->exec( pu->mapToGlobal( pu->rect().bottomLeft() ) );
- else
- pop->exec( pu->mapToGlobal( pu->rect().topLeft() - QPoint(0, pu->sizeHint().height() ) ) );
-}
diff --git a/core/pim/todo/taskeditoroverviewimpl.h b/core/pim/todo/taskeditoroverviewimpl.h
deleted file mode 100644
index 5ee985e..0000000
--- a/core/pim/todo/taskeditoroverviewimpl.h
+++ b/dev/null
@@ -1,55 +0,0 @@
-#ifndef OPIE_TASK_EDITOR_VIEW_IMPL_H
-#define OPIE_TASK_EDITOR_VIEW_IMPL_H
-
-#include <qsize.h>
-
-#include <opie/otodo.h>
-
-#include "taskeditoroverview.h"
-
-class DateBookMonth;
-class QPushButton;
-class QPopupMenu;
-class TaskEditorOverViewImpl : public TaskEditorOverView {
- Q_OBJECT
-public:
- TaskEditorOverViewImpl(QWidget* parent, const char* name = 0);
- ~TaskEditorOverViewImpl();
-
- void load( const OTodo& );
- void save( OTodo& );
-signals:
- void recurranceEnabled( bool );
- void dueDateChanged( const QDate& date );
-
-private:
- void init();
- void popup(QPushButton*, QPopupMenu*);
- DateBookMonth* m_dueBook;
- DateBookMonth* m_startBook;
- DateBookMonth* m_compBook;
- QDate m_start;
- QDate m_comp;
- QDate m_due;
- QPopupMenu* m_startPop;
- QPopupMenu* m_compPop;
- QPopupMenu* m_duePop;
- bool m_bDue : 1;
-
-private slots:
- void slotStartChecked();
- void slotStartChanged(int, int, int );
- void slotDueChecked();
- void slotDueChanged(int, int, int );
- void slotCompletedChecked();
- void slotCompletedChanged(int, int, int );
-
- void hackySlotHack1();
- void hackySlotHack2();
- void hackySlotHack3();
-
- void slotRecClicked();
-};
-
-
-#endif
diff --git a/core/pim/todo/todo.pro b/core/pim/todo/todo.pro
index 2714f30..9960c65 100644
--- a/core/pim/todo/todo.pro
+++ b/core/pim/todo/todo.pro
@@ -1,63 +1,65 @@
TEMPLATE = app
CONFIG = qt warn_on release
DESTDIR = $(OPIEDIR)/bin
HEADERS = smalltodo.h \
todomanager.h \
mainwindow.h \
todoview.h \
tableview.h \
todotemplatemanager.h \
todoeditor.h \
todoshow.h \
textviewshow.h \
templateeditor.h \
templatedialog.h \
templatedialogimpl.h \
quickedit.h \
quickeditimpl.h \
- otaskeditor.h \
- taskeditoroverviewimpl.h \
- taskeditoradvancedimpl.h
+ otaskeditor.h \
+ taskeditoroverview.h \
+ taskeditoradvancedimpl.h \
+ taskeditoralarms.h
SOURCES = smalltodo.cpp \
todomanager.cpp \
mainwindow.cpp \
main.cpp \
tableview.cpp \
todoview.cpp \
todotemplatemanager.cpp \
todoeditor.cpp \
todoshow.cpp \
textviewshow.cpp \
templateeditor.cpp \
templatedialog.cpp \
templatedialogimpl.cpp \
quickeditimpl.cpp \
quickedit.cpp \
- otaskeditor.cpp \
- taskeditoroverviewimpl.cpp \
- taskeditoradvancedimpl.cpp
+ otaskeditor.cpp \
+ taskeditoroverview.cpp \
+ taskeditoradvancedimpl.cpp \
+ taskeditoralarms.cpp
-INTERFACES = taskeditoradvanced.ui taskeditoralarms.ui taskeditoroverview.ui
+INTERFACES = taskeditoradvanced.ui
TARGET = todolist
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
LIBS += -lqpe -lopie
TRANSLATIONS = ../../../i18n/de/todolist.ts \
../../../i18n/da/todolist.ts \
../../../i18n/xx/todolist.ts \
../../../i18n/en/todolist.ts \
../../../i18n/es/todolist.ts \
../../../i18n/fr/todolist.ts \
../../../i18n/hu/todolist.ts \
../../../i18n/ja/todolist.ts \
../../../i18n/ko/todolist.ts \
../../../i18n/no/todolist.ts \
../../../i18n/pl/todolist.ts \
../../../i18n/pt/todolist.ts \
../../../i18n/pt_BR/todolist.ts \
../../../i18n/sl/todolist.ts \
../../../i18n/zh_CN/todolist.ts \
../../../i18n/zh_TW/todolist.ts