summaryrefslogtreecommitdiff
authordrw <drw>2005-04-06 21:39:47 (UTC)
committer drw <drw>2005-04-06 21:39:47 (UTC)
commit9ea956870ddf74ddc70b83ed529ebb3b36e9231e (patch) (side-by-side diff)
tree599da226b62023d6c51c1f00867e3dffde9977ec
parent2b0e27b45eb9ff5563f786c5e45d53db49afb9f9 (diff)
downloadopie-9ea956870ddf74ddc70b83ed529ebb3b36e9231e.zip
opie-9ea956870ddf74ddc70b83ed529ebb3b36e9231e.tar.gz
opie-9ea956870ddf74ddc70b83ed529ebb3b36e9231e.tar.bz2
Use OResource for loading images and fix headers
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/pim/todo/main.cpp48
-rw-r--r--core/pim/todo/mainwindow.cpp47
-rw-r--r--core/pim/todo/mainwindow.h46
-rw-r--r--core/pim/todo/newtaskdlg.cpp46
-rw-r--r--core/pim/todo/newtaskdlg.h46
-rw-r--r--core/pim/todo/otaskeditor.cpp30
-rw-r--r--core/pim/todo/otaskeditor.h30
-rw-r--r--core/pim/todo/quickedit.cpp30
-rw-r--r--core/pim/todo/quickedit.h30
-rw-r--r--core/pim/todo/quickeditimpl.cpp48
-rw-r--r--core/pim/todo/quickeditimpl.h30
-rw-r--r--core/pim/todo/smalltodo.cpp46
-rw-r--r--core/pim/todo/smalltodo.h46
-rw-r--r--core/pim/todo/tableview.cpp53
-rw-r--r--core/pim/todo/tableview.h46
-rw-r--r--core/pim/todo/taskeditoralarms.cpp57
-rw-r--r--core/pim/todo/taskeditoralarms.h46
-rw-r--r--core/pim/todo/taskeditoroverview.cpp51
-rw-r--r--core/pim/todo/taskeditoroverview.h46
-rw-r--r--core/pim/todo/taskeditorstatus.cpp46
-rw-r--r--core/pim/todo/taskeditorstatus.h46
-rw-r--r--core/pim/todo/templatedialog.cpp30
-rw-r--r--core/pim/todo/templatedialog.h30
-rw-r--r--core/pim/todo/templatedialogimpl.cpp30
-rw-r--r--core/pim/todo/templatedialogimpl.h30
-rw-r--r--core/pim/todo/textviewshow.cpp30
-rw-r--r--core/pim/todo/textviewshow.h30
-rw-r--r--core/pim/todo/todoedit.h30
-rw-r--r--core/pim/todo/todoeditor.cpp30
-rw-r--r--core/pim/todo/todoeditor.h30
-rw-r--r--core/pim/todo/todomanager.cpp46
-rw-r--r--core/pim/todo/todomanager.h46
-rw-r--r--core/pim/todo/todoshow.cpp29
-rw-r--r--core/pim/todo/todoshow.h47
-rw-r--r--core/pim/todo/todotemplate.h31
-rw-r--r--core/pim/todo/todotemplatemanager.cpp30
-rw-r--r--core/pim/todo/todotemplatemanager.h30
-rw-r--r--core/pim/todo/todoview.cpp30
-rw-r--r--core/pim/todo/todoview.h46
39 files changed, 1085 insertions, 434 deletions
diff --git a/core/pim/todo/main.cpp b/core/pim/todo/main.cpp
index a336ba3..e12326e 100644
--- a/core/pim/todo/main.cpp
+++ b/core/pim/todo/main.cpp
@@ -1,47 +1,57 @@
-/**********************************************************************
-** Copyright (C) 2000 Trolltech AS. All rights reserved.
-**
-** This file is part of Qtopia Environment.
-**
-** This file may be distributed and/or modified under the terms of the
-** GNU General Public License version 2 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-** See http://www.trolltech.com/gpl/ for GPL licensing information.
-**
-** Contact info@trolltech.com if any conditions of this licensing are
-** not clear to you.
-**
-**********************************************************************/
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 "mainwindow.h"
#include <opie2/odebug.h>
#include <qpe/qpeapplication.h>
void myMessages( QtMsgType, const char* ) {
}
int main( int argc, char **argv )
{
qInstallMsgHandler( myMessages );
QPEApplication a( argc, argv );
QTime time;
time.start();
Todo::MainWindow mw;
int t = time.elapsed();
mw.setCaption( QObject::tr("Opie Todolist"));
QObject::connect( &a, SIGNAL( flush() ), &mw, SLOT( slotFlush() ) );
QObject::connect( &a, SIGNAL( reload() ), &mw, SLOT( slotReload() ) );
a.showMainWidget(&mw);
return a.exec();
}
diff --git a/core/pim/todo/mainwindow.cpp b/core/pim/todo/mainwindow.cpp
index 9013522..b6ee16f 100644
--- a/core/pim/todo/mainwindow.cpp
+++ b/core/pim/todo/mainwindow.cpp
@@ -1,296 +1,297 @@
/*
- =. 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.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 <unistd.h>
#include <opie2/odebug.h>
#include <opie2/opimrecurrence.h>
#include <opie2/opimnotifymanager.h>
#include <opie2/otodoaccessvcal.h>
#include <opie2/oapplicationfactory.h>
#include <qpe/applnk.h>
#include <qpe/config.h>
#include <qpe/ir.h>
-#include <qpe/resource.h>
#include <qpe/qpemessagebox.h>
#include <qpe/alarmserver.h>
#include <qpe/qpeapplication.h>
#include <qaction.h>
#include <qlayout.h>
#include <qmenubar.h>
#include <qmessagebox.h>
#include <qpushbutton.h>
#include <qstringlist.h>
#include <qtimer.h>
#include <qwhatsthis.h>
#include "quickeditimpl.h"
#include "todotemplatemanager.h"
#include "templatedialogimpl.h"
#include "tableview.h"
#include "textviewshow.h"
#include "todoeditor.h"
#include "newtaskdlg.h"
#include "mainwindow.h"
using Opie::Core::OApplicationFactory;
OPIE_EXPORT_APP( OApplicationFactory<Todo::MainWindow> )
using namespace Opie;
using namespace Todo;
MainWindow::MainWindow( QWidget* parent,
const char* name, WFlags )
: Opie::OPimMainWindow( "Todolist", "Todo List", tr( "Task" ), "todo",
parent, name, WType_TopLevel | WStyle_ContextHelp )
{
setCaption( tr( "Todo List" ) );
if (!name)
setName("todo window");
m_syncing = false;
m_showing = false;
m_counter = 0;
m_tempManager = new TemplateManager();
m_tempManager->load();
initConfig();
initUI();
initViews();
initActions();
initEditor();
initShow();
raiseCurrentView();
QTimer::singleShot( 0, this, SLOT(initStuff()) );
}
void MainWindow::initStuff() {
m_todoMgr.load();
setViewCategory( m_curCat );
setCategory( m_curCat );
}
void MainWindow::initActions() {
// Insert Task menu items
QActionGroup *items = new QActionGroup( this, QString::null, false );
m_deleteCompleteAction = new QAction( QString::null, QWidget::tr( "Delete completed" ),
0, items, 0 );
connect( m_deleteCompleteAction, SIGNAL(activated()), this, SLOT(slotDeleteCompleted()) );
insertItemMenuItems( items );
// Insert View menu items
items = new QActionGroup( this, QString::null, false );
m_completedAction = new QAction( QString::null, QWidget::tr("Show completed tasks"),
0, items, 0, true );
m_completedAction->setOn( showCompleted() );
connect( m_completedAction, SIGNAL(toggled(bool)), this, SLOT(slotShowCompleted(bool)) );
QAction *a = new QAction( QString::null, QWidget::tr("Show only over-due tasks"),
0, items, 0, true );
a->setOn( showOverDue() );
connect( a, SIGNAL(toggled(bool)), this, SLOT(slotShowDue(bool)) );
m_showDeadLineAction = new QAction( QString::null, QWidget::tr("Show task deadlines"),
0, items, 0, true );
m_showDeadLineAction->setOn( showDeadline() );
connect( m_showDeadLineAction, SIGNAL(toggled(bool)), this, SLOT(slotShowDeadLine(bool)) );
m_showQuickTaskAction = new QAction( QString::null, QWidget::tr("Show quick task bar"),
0, items, 0, true );
m_showQuickTaskAction->setOn( showQuickTask() );
connect( m_showQuickTaskAction, SIGNAL(toggled(bool)), this, SLOT(slotShowQuickTask(bool)) );
insertViewMenuItems( items );
}
/* m_curCat from Config */
void MainWindow::initConfig() {
Config config( "todo" );
config.setGroup( "View" );
m_completed = config.readBoolEntry( "ShowComplete", true );
m_curCat = config.readEntry( "Category", QString::null );
m_deadline = config.readBoolEntry( "ShowDeadLine", true);
m_overdue = config.readBoolEntry("ShowOverDue", false );
m_quicktask = config.readBoolEntry("ShowQuickTask", true);
}
void MainWindow::initUI() {
// Create main widget stack
m_stack = new Opie::Ui::OWidgetStack(this, "main stack");
setCentralWidget( m_stack );
connect( this, SIGNAL(categorySelected(const QString&)),
this, SLOT(setCategory(const QString&)) );
// Create quick task toolbar
m_curQuick = new QuickEditImpl( this, m_quicktask );
addToolBar( (QToolBar *)m_curQuick->widget(), QWidget::tr( "QuickEdit" ),
QMainWindow::Top, true );
m_curQuick->signal()->connect( this, SLOT(slotQuickEntered()) );
}
void MainWindow::initViews() {
TableView* tableView = new TableView( this, m_stack );
QWhatsThis::add( tableView, QWidget::tr( "This is a listing of all current tasks.\n\nThe list displays the following information:\n1. Completed - A green checkmark indicates task is completed. Click here to complete a task.\n2. Priority - a graphical representation of task priority. Double-click here to modify.\n3. Description - description of task. Click here to select the task.\n4. Deadline - shows when task is due. This column can be shown or hidden by selecting Options->'Show task deadlines' from the menu above." ) );
m_stack->addWidget( tableView, m_counter++ );
m_views.append( tableView );
m_curView = tableView;
connectBase( tableView );
/* add QString type + QString configname to
* the View menu
* and subdirs for multiple views
*/
}
void MainWindow::initEditor() {
m_curEdit = new Editor();
}
void MainWindow::initShow() {
m_curShow = new TextViewShow(this, this);
m_stack->addWidget( m_curShow->widget() , m_counter++ );
}
MainWindow::~MainWindow() {
delete templateManager();
}
void MainWindow::connectBase( ViewBase* ) {
// once templates and signals mix we'll use it again
}
QPopupMenu* MainWindow::contextMenu( int , bool /*recur*/ ) {
return itemContextMenu();
}
OPimTodoAccess::List MainWindow::list()const {
return m_todoMgr.list();
}
OPimTodoAccess::List MainWindow::sorted( bool asc, int sortOrder ) {
int cat = 0;
if ( m_curCat != tr( "All" ) )
cat = currentCatId();
if ( m_curCat == tr( "Unfiled" ) )
cat = -1;
int filter = OPimTodoAccess::FilterCategory;
if (!m_completed )
filter |= OPimTodoAccess::DoNotShowCompleted;
if (m_overdue)
filter |= OPimTodoAccess::OnlyOverDue;
return m_todoMgr.sorted( asc, sortOrder, filter, cat );
}
OPimTodoAccess::List MainWindow::sorted( bool asc, int sortOrder, int addFilter) {
int cat = 0;
if ( m_curCat != tr( "All" ) )
cat = currentCatId();
if ( m_curCat == tr( "Unfiled" ) )
cat = -1;
return m_todoMgr.sorted(asc, sortOrder, addFilter, cat );
}
OPimTodo MainWindow::event( int uid ) {
return m_todoMgr.event( uid );
}
bool MainWindow::isSyncing()const {
return m_syncing;
}
TemplateManager* MainWindow::templateManager() {
return m_tempManager;
}
Editor* MainWindow::currentEditor() {
return m_curEdit;
}
TodoShow* MainWindow::currentShow() {
return m_curShow;
}
void MainWindow::slotReload() {
m_syncing = false;
m_todoMgr.reload();
currentView()->updateView( );
raiseCurrentView();
}
void MainWindow::closeEvent( QCloseEvent* e ) {
if (m_stack->visibleWidget() == currentShow()->widget() ) {
m_showing = false;
raiseCurrentView();
e->ignore();
return;
}
/*
* we should have flushed and now we're still saving
* so there is no need to flush
*/
if (m_syncing ) {
e->accept();
return;
}
bool quit = false;
if ( m_todoMgr.saveAll() ){
quit = true;
}else {
if ( QMessageBox::critical( this, QWidget::tr("Out of space"),
QWidget::tr("Todo was unable\n"
"to save your changes.\n"
"Free up some space\n"
"and try again.\n"
"\nQuit Anyway?"),
QMessageBox::Yes|QMessageBox::Escape,
QMessageBox::No|QMessageBox::Default)
!= QMessageBox::No ) {
e->accept();
quit = true;
}else
e->ignore();
}
if (quit ) {
Config config( "todo" );
config.setGroup( "View" );
config.writeEntry( "ShowComplete", showCompleted() );
config.writeEntry( "Category", currentCategory() );
config.writeEntry( "ShowDeadLine", showDeadline());
config.writeEntry( "ShowOverDue", showOverDue() );
config.writeEntry( "ShowQuickTask", showQuickTask() );
/* save templates */
templateManager()->save();
e->accept();
QTimer::singleShot(0, qApp, SLOT(closeAllWindows()) );
}
}
void MainWindow::slotItemNew() {
NewTaskDlg dlg( templateManager()->templates(), this );
if ( QPEApplication::execDialog( &dlg ) == QDialog::Accepted ) {
QString tempName = dlg.tempSelected();
if ( tempName.isNull() )
// Create new, blank task
create();
else {
// Create new task from the template selected
OPimTodo event = templateManager()->templateEvent( tempName );
event = currentEditor()->edit( this, event );
diff --git a/core/pim/todo/mainwindow.h b/core/pim/todo/mainwindow.h
index c0fe805..b96795f 100644
--- a/core/pim/todo/mainwindow.h
+++ b/core/pim/todo/mainwindow.h
@@ -1,198 +1,200 @@
/*
- =. This file is part of the OPIE Project
- .=l. Copyright (c) 2002 Holger Freyther <zecke@handhelds.org>
- .>+-=
-_;:, .> :=|. 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
- -_. . . )=. = Library General Public License along with
- -- :-=` this library; see the file COPYING.LIB.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
-
*/
#ifndef TODO_MAIN_WINDOW_H
#define TODO_MAIN_WINDOW_H
#include <qlist.h>
#include <opie2/otodoaccess.h>
#include <opie2/opimtodo.h>
#include <opie2/opimmainwindow.h>
#include <opie2/owidgetstack.h>
#include "smalltodo.h"
#include "todoview.h"
#include "quickedit.h"
#include "todomanager.h"
class QPopupMenu;
class QMenuBar;
class QToolBar;
class QAction;
class Ir;
class QVBox;
class QLineEdit;
namespace Todo {
typedef TodoView View;
class TemplateManager;
class Editor;
class TodoShow;
struct QuickEditBase;
class MainWindow : public Opie::OPimMainWindow {
Q_OBJECT
friend class TodoView; // avoid QObject here....
friend class TodoShow; // avoid QObject
public:
/* Opie::Core::OApplicationFactory application Name */
static QString appName() { return QString::fromLatin1("todolist"); }
MainWindow( QWidget *parent = 0,
const char* name = 0, WFlags fl = 0 );
~MainWindow();
/** return a context menu for an OPimTodo */
QPopupMenu* contextMenu(int uid, bool doesRecur = FALSE );
void updateList();
OPimTodoAccess::List list()const;
OPimTodoAccess::List sorted( bool asc, int sortOrder );
OPimTodoAccess::List sorted( bool asc, int sortOrder, int addFilter );
OPimTodo event(int uid );
bool isSyncing()const;
bool showCompleted()const;
bool showDeadline()const;
bool showOverDue()const;
bool showQuickTask()const;
QString currentCategory()const;
int currentCatId();
TemplateManager* templateManager();
QuickEditBase* quickEditor();
void updateTodo( const OPimTodo& );
Editor* currentEditor();
void setReadAhead(uint count );
private slots:
void slotQuickEntered();
void slotReload();
void slotFlush();
protected:
void closeEvent( QCloseEvent* e );
private:
/* handle setting and removing alarms */
void handleAlarms( const OPimTodo& oldTodo, const OPimTodo& newTodo );
void receiveFile( const QString& filename );
void connectBase( ViewBase* );
void initUI();
void initActions();
void initConfig();
void initViews();
void initEditor();
void initShow();
void raiseCurrentView();
ViewBase* currentView();
ViewBase* m_curView;
bool m_showing : 1; // used to see if we show a todo in the cases we shouldn't change the table
QuickEditBase* m_curQuick;
Editor* m_curEdit;
TodoShow* currentShow();
TodoShow* m_curShow;
QAction* m_editAction,
*m_deleteAction,
*m_findAction,
*m_completedAction,
*m_showDeadLineAction,
*m_deleteAllAction,
*m_deleteCompleteAction,
*m_duplicateAction,
*m_showOverDueAction,
*m_showQuickTaskAction,
*m_effectiveAction;
Opie::Ui::OWidgetStack *m_stack;
bool m_syncing:1;
bool m_deadline:1;
bool m_completed:1;
bool m_overdue:1;
bool m_quicktask:1;
TodoManager m_todoMgr;
QString m_curCat;
QList<ViewBase> m_views;
uint m_counter;
TemplateManager* m_tempManager;
private slots:
void initStuff();
void slotItemNew();
void slotItemEdit();
void slotItemDuplicate();
void slotItemDelete();
void slotItemBeam();
void slotItemFind();
void slotConfigure();
void slotShow(int);
void slotEdit(int);
void slotUpdate3( QWidget* );
void slotComplete( int uid );
void slotComplete( const OPimTodo& ev );
void slotDelete(int uid );
void slotDeleteAll();
void slotDeleteCompleted();
void setCategory( const QString &category );
void slotShowDeadLine( bool );
void slotShowCompleted( bool );
void slotShowQuickTask( bool );
void setDocument( const QString& );
void beamDone( Ir* );
void slotShowDetails();
void slotShowNext();
void slotShowPrev();
void slotShowDue( bool );
void slotReturnFromView(); // for TodoShow...
/* reimplementation from opimmainwindow */
protected slots:
void flush();
void reload();
int create();
bool remove( int uid );
void beam(int uid);
void show( int uid );
void edit( int uid );
void add( const Opie::OPimRecord& );
void doAlarm( const QDateTime& dt, int uid );
};
}
#endif
diff --git a/core/pim/todo/newtaskdlg.cpp b/core/pim/todo/newtaskdlg.cpp
index 0b5a29d..68a0d24 100644
--- a/core/pim/todo/newtaskdlg.cpp
+++ b/core/pim/todo/newtaskdlg.cpp
@@ -1,78 +1,80 @@
/*
- =. This file is part of the OPIE Project
- .=l. Copyright (c) 2005 Dan Williams <drw@handhelds.org>
- .>+-=
-_;:, .> :=|. 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.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 "newtaskdlg.h"
#include <qbuttongroup.h>
#include <qcombobox.h>
#include <qlayout.h>
#include <qradiobutton.h>
NewTaskDlg::NewTaskDlg( const QStringList &templates, QWidget *parent )
: QDialog( parent, QString::null, true, WStyle_ContextHelp )
{
setCaption( tr( "New Task" ) );
QButtonGroup *bg = new QButtonGroup( this );
bg->hide();
QVBoxLayout *layout = new QVBoxLayout( this, 10, 3 );
QRadioButton *btn = new QRadioButton( tr( "Blank task" ), this );
btn->setChecked( true );
bg->insert( btn );
layout->addWidget( btn );
layout->addStretch();
m_useTemplate = new QRadioButton( tr( "Using template:" ), this );
connect( m_useTemplate, SIGNAL(toggled(bool)), this, SLOT(slotUseTemplate(bool)) );
bg->insert( m_useTemplate );
layout->addWidget( m_useTemplate );
m_templateList = new QComboBox( this );
m_templateList->insertStringList( templates );
m_templateList->setEnabled( false );
layout->addWidget( m_templateList );
layout->addStretch();
}
QString NewTaskDlg::tempSelected() {
QString tempStr;
if ( m_useTemplate->isChecked() )
tempStr = m_templateList->currentText();
return tempStr;
}
void NewTaskDlg::slotUseTemplate( bool on ) {
m_templateList->setEnabled( on );
if ( on )
m_templateList->setFocus();
}
diff --git a/core/pim/todo/newtaskdlg.h b/core/pim/todo/newtaskdlg.h
index 31398b3..235c7a0 100644
--- a/core/pim/todo/newtaskdlg.h
+++ b/core/pim/todo/newtaskdlg.h
@@ -1,56 +1,58 @@
/*
- =. 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.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
-
*/
#ifndef NEWTASKDLG_H
#define NEWTASKDLG_H
#include <qdialog.h>
#include <qstringlist.h>
class QComboBox;
class QRadioButton;
class NewTaskDlg : public QDialog
{
Q_OBJECT
public:
NewTaskDlg( const QStringList &templates, QWidget *parent = 0l );
QString tempSelected();
private:
QRadioButton *m_useTemplate;
QComboBox *m_templateList;
private slots:
void slotUseTemplate( bool on );
};
#endif
diff --git a/core/pim/todo/otaskeditor.cpp b/core/pim/todo/otaskeditor.cpp
index bbc177d..8cce9ed 100644
--- a/core/pim/todo/otaskeditor.cpp
+++ b/core/pim/todo/otaskeditor.cpp
@@ -1,94 +1,124 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 <qlayout.h>
#include <opie2/odebug.h>
#include "taskeditoroverview.h"
#include "taskeditorstatus.h"
#include "taskeditoralarms.h"
#include "otaskeditor.h"
using namespace Opie::Ui;
using namespace Opie;
OTaskEditor::OTaskEditor(int cur)
: QDialog( 0, 0, TRUE, WStyle_ContextHelp ) {
init();
init( cur );
}
OTaskEditor::OTaskEditor( const OPimTodo& to)
: QDialog( 0, 0, TRUE, WStyle_ContextHelp ) {
init();
init( to );
}
OTaskEditor::~OTaskEditor() {
}
void OTaskEditor::init( int cur ) {
OPimTodo to;
to.setUid( 1 ); // generate a new uid
if ( cur != 0 )
to.setCategories( cur );
load(to);
}
void OTaskEditor::init( const OPimTodo& to ) {
load( to );
}
OPimTodo OTaskEditor::todo()const{
OPimTodo to ( m_todo );
m_overView->save( to );
m_stat->save( to );
to.setRecurrence( m_rec->recurrence() );
m_alarm->save( to );
return to;
}
void OTaskEditor::load(const OPimTodo& to) {
m_overView->load( to );
m_stat->load( to );
m_rec->setRecurrence( to.recurrence(), to.hasDueDate() ? to.dueDate() : QDate::currentDate() );
m_alarm->load( to );
m_todo = to;
}
void OTaskEditor::init() {
setCaption(tr("Task Editor") );
QVBoxLayout* layo = new QVBoxLayout( this );
m_tab = new OTabWidget( this );
layo->addWidget( m_tab );
/*
* Add the Widgets
*/
m_overView = new TaskEditorOverView( m_tab );
m_tab->addTab( m_overView, "todo/info", tr("Information") );
m_stat = new TaskEditorStatus( m_tab );
m_tab->addTab( m_stat, "todo/TodoList", tr("Status") );
m_alarm = new TaskEditorAlarms( m_tab );
m_tab->addTab( m_alarm, "todo/alarm", tr("Alarms") );
// m_remind = new TaskEditorAlarms( m_tab );
// m_tab->addTab( m_remind, "todo/reminder", tr("Reminders") );
// QLabel* lbl = new QLabel( m_tab );
// lbl->setText( tr("X-Ref") );
// m_tab->addTab( lbl, "todo/xref", tr("X-Ref") );
m_rec = new OPimRecurrenceWidget( true, QDate::currentDate(), this );
m_tab->addTab( m_rec, "repeat", tr("Recurrence") );
/* signal and slots */
connect(m_overView, SIGNAL(recurranceEnabled(bool) ),
m_rec, SLOT(setEnabled(bool) ) );
/* connect due date changed to the recurrence tab */
connect(m_stat, 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 65e7bda..1715d02 100644
--- a/core/pim/todo/otaskeditor.h
+++ b/core/pim/todo/otaskeditor.h
@@ -1,44 +1,74 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
+*/
+
#ifndef OPIE_TASK_EDITOR_H
#define OPIE_TASK_EDITOR_H
#include <qdialog.h>
#include <opie2/opimtodo.h>
#include <opie2/otabwidget.h>
#include <opie2/opimrecurrencewidget.h>
#include <opie2/opimrecurrencewidget.h>
class TaskEditorOverView;
class TaskEditorStatus;
class TaskEditorAlarms;
class QMultiLineEdit;
class OTaskEditor : public QDialog {
Q_OBJECT
public:
OTaskEditor(int cur);
OTaskEditor( const Opie::OPimTodo& todo );
~OTaskEditor();
/*
* same as the c'tor but this gives us the
* power to 'preload' the dialog
*/
void init( int cur );
void init( const Opie::OPimTodo& todo );
Opie::OPimTodo todo()const;
private:
void load( const Opie::OPimTodo& );
void init();
Opie::Ui::OTabWidget *m_tab;
TaskEditorOverView *m_overView;
TaskEditorStatus *m_stat;
TaskEditorAlarms *m_alarm;
TaskEditorAlarms *m_remind;
OPimRecurrenceWidget *m_rec;
Opie::OPimTodo m_todo;
};
#endif
diff --git a/core/pim/todo/quickedit.cpp b/core/pim/todo/quickedit.cpp
index 16fc53a..eb26c45 100644
--- a/core/pim/todo/quickedit.cpp
+++ b/core/pim/todo/quickedit.cpp
@@ -1,21 +1,51 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 "quickedit.h"
using namespace Todo;
// not so interesting part base Implementation
QuickEdit::QuickEdit(MainWindow* main )
: m_main( main ) {
m_sig = new QSignal();
}
QuickEdit::~QuickEdit() {
delete m_sig;
}
QSignal* QuickEdit::signal() {
return m_sig;
}
MainWindow* QuickEdit::mainWindow() {
return m_main;
}
void QuickEdit::commit() {
m_sig->activate();
}
diff --git a/core/pim/todo/quickedit.h b/core/pim/todo/quickedit.h
index 0c0c204..a479d9e 100644
--- a/core/pim/todo/quickedit.h
+++ b/core/pim/todo/quickedit.h
@@ -1,47 +1,77 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
+*/
+
#ifndef OPIE_QUICK_EDIT_H
#define OPIE_QUICK_EDIT_H
#include <qsignal.h>
#include <qwidget.h>
#include <opie2/opimtodo.h>
using Opie::OPimTodo;
namespace Todo{
class MainWindow;
struct QuickEditBase {
virtual OPimTodo todo()const = 0l;
virtual QSignal* signal() = 0l;
virtual QWidget* widget() = 0l;
};
/*
* this is my second try
* of signal and slots with namespaces
* and templates
* I use a different approach now
* I give a QSignal away
* and have a protected method called emit
*/
/**
* Quick edit is meant to quickly enter
* OPimTodos in a fast way
*/
class QuickEdit : public QuickEditBase{
public:
QuickEdit(MainWindow* main );
virtual ~QuickEdit();
//OPimTodo todo()const;
QSignal* signal();
//QWidget* widget();
protected:
MainWindow* mainWindow();
void commit();
private:
MainWindow* m_main;
QSignal* m_sig;
};
};
#endif
diff --git a/core/pim/todo/quickeditimpl.cpp b/core/pim/todo/quickeditimpl.cpp
index 90ad19e..f700716 100644
--- a/core/pim/todo/quickeditimpl.cpp
+++ b/core/pim/todo/quickeditimpl.cpp
@@ -1,117 +1,149 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 <qaction.h>
#include <qlineedit.h>
#include <qwhatsthis.h>
-#include <qpe/resource.h>
-
#include <opie2/oclickablelabel.h>
+#include <opie2/oresource.h>
#include "mainwindow.h"
#include "quickeditimpl.h"
QuickEditImpl::QuickEditImpl( QWidget* parent, bool visible )
: QToolBar( (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, taskeditoroverview.cpp/h
- priority1 = Resource::loadPixmap( "todo/priority1" );
- priority3 = Resource::loadPixmap( "todo/priority3" );
- priority5 = Resource::loadPixmap( "todo/priority5" );
+ priority1 = Opie::Core::OResource::loadPixmap( "todo/priority1" );
+ priority3 = Opie::Core::OResource::loadPixmap( "todo/priority3" );
+ priority5 = Opie::Core::OResource::loadPixmap( "todo/priority5" );
m_lbl = new Opie::Ui::OClickableLabel( this );
m_lbl->setMinimumWidth( 15 );
m_lbl->setPixmap( priority3 );
connect(m_lbl, SIGNAL(clicked() ), this, SLOT(slotPrio()) );
QWhatsThis::add( m_lbl, QWidget::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, QWidget::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." ) );
/*
* it's not implemented and won't be implemented for 1.0
*/
#if 0
- QAction *a = new QAction( QWidget::tr( "More" ), Resource::loadPixmap( "todo/more" ), QString::null, 0, this, 0 );
+ QAction *a = new QAction( QWidget::tr( "More" ), Opie::Core::OResource::loadPixmap( "todo/more", Opie::Core::OResource::SmallIcon ),
+ QString::null, 0, this, 0 );
connect( a, SIGNAL( activated() ), this, SLOT( slotMore() ) );
a->addTo( this );
a->setWhatsThis( QWidget::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." ) );
#endif
- QAction *a = new QAction( QWidget::tr( "Enter" ), Resource::loadPixmap( "enter" ), QString::null, 0, this, 0 );
+ QAction *a = new QAction( QWidget::tr( "Enter" ), Opie::Core::OResource::loadPixmap( "enter", Opie::Core::OResource::SmallIcon ),
+ QString::null, 0, this, 0 );
connect( a, SIGNAL( activated() ), this, SLOT( slotEnter() ) );
a->addTo( this );
a->setWhatsThis( QWidget::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( QWidget::tr( "Cancel" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
+ a = new QAction( QWidget::tr( "Cancel" ), Opie::Core::OResource::loadPixmap( "close", Opie::Core::OResource::SmallIcon ),
+ QString::null, 0, this, 0 );
connect( a, SIGNAL( activated() ), this, SLOT( slotCancel() ) );
a->addTo( this );
a->setWhatsThis( QWidget::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() {
}
OPimTodo QuickEditImpl::todo()const {
return m_todo;
}
QWidget* QuickEditImpl::widget() {
return this;
}
void QuickEditImpl::slotEnter() {
OPimTodo todo;
if (!m_edit->text().isEmpty() ) {
todo.setUid(1 ); // new uid
todo.setPriority( m_state );
todo.setSummary( m_edit->text() );
if ( ((Todo::MainWindow *)parent())->currentCatId() != 0 )
todo.setCategories( ((Todo::MainWindow *)parent())->currentCatId() );
m_todo = todo;
commit();
}
m_todo = todo;
reinit();
}
void QuickEditImpl::slotPrio() {
m_state -= 2;
if ( m_state < 1 )
m_state = 5;
switch( m_state ) {
case 1:
m_lbl->setPixmap( priority1 );
break;
case 5:
m_lbl->setPixmap( priority5 );
break;
case 3:
default:
m_lbl->setPixmap( priority3 );
break;
}
}
void QuickEditImpl::slotMore() {
// TODO - implement
}
void QuickEditImpl::slotCancel() {
reinit();
}
void QuickEditImpl::reinit() {
m_state = 3;
m_lbl->setPixmap( priority3 );
m_edit->clear();
}
diff --git a/core/pim/todo/quickeditimpl.h b/core/pim/todo/quickeditimpl.h
index d465dba..cfb33a9 100644
--- a/core/pim/todo/quickeditimpl.h
+++ b/core/pim/todo/quickeditimpl.h
@@ -1,41 +1,71 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
+*/
+
#ifndef OPIE_QUICK_EDIT_IMPL_H
#define OPIE_QUICK_EDIT_IMPL_H
#include <qpixmap.h>
#include <qtoolbar.h>
#include "quickedit.h"
class QLineEdit;
class QLabel;
class QuickEditImpl : public QToolBar, public Todo::QuickEdit {
Q_OBJECT
public:
QuickEditImpl( QWidget* parent, bool visible);
~QuickEditImpl();
OPimTodo todo()const;
QWidget* widget();
private slots:
void slotEnter();
void slotPrio();
void slotMore();
void slotCancel();
private:
void reinit();
int m_state;
QLabel* m_lbl;
QLineEdit* m_edit;
QLabel* m_enter;
QLabel* m_more;
QPopupMenu* m_menu;
OPimTodo m_todo;
bool m_visible;
QPixmap priority1;
QPixmap priority3;
QPixmap priority5;
};
#endif
diff --git a/core/pim/todo/smalltodo.cpp b/core/pim/todo/smalltodo.cpp
index 504256d..c5e1201 100644
--- a/core/pim/todo/smalltodo.cpp
+++ b/core/pim/todo/smalltodo.cpp
@@ -1,113 +1,115 @@
/*
-               =. This file is part of the OPIE Project
-             .=l. Copyright (c) 2002 <zecke@handhelds.org>
-           .>+-=
- _;:,     .>    :=|. 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
-  -_. . .   )=.  = Library General Public License along with
-    --        :-=` this library; see the file COPYING.LIB.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 "smalltodo.h"
using namespace Todo;
struct SmallTodo::SmallTodoPrivate : public QShared{
SmallTodoPrivate() : QShared(), uid(-1) {};
QString name;
QStringList categories; // as real Names
int uid;
bool complete:1;
QDate date;
void deleteSelf() { delete this; };
};
SmallTodo::SmallTodo(int uid,
bool comp,
const QDate& date,
const QString& name,
const QStringList& cats) {
d = new SmallTodoPrivate();
d->name = name;
d->uid = uid;
d->categories = cats;
d->complete = comp;
d->date = date;
}
SmallTodo::SmallTodo( const SmallTodo& s ) : d(s.d) {
d->ref();
}
SmallTodo::~SmallTodo() {
/* deref and if last one delete */
if ( d->deref() ) {
d->deleteSelf();
}
}
bool SmallTodo::operator==( const SmallTodo& todo ) {
if ( d->complete != todo.d->complete ) return false;
if ( d->name != todo.d->name ) return false;
if ( d->uid != todo.d->uid ) return false;
if ( d->categories != todo.d->categories ) return false;
if ( d->date != todo.d->date ) return false;
return true;
}
bool SmallTodo::operator==( const SmallTodo& todo ) const{
if ( d->complete != todo.d->complete ) return false;
if ( d->uid != todo.d->uid ) return false;
if ( d->name != todo.d->name ) return false;
if ( d->categories != todo.d->categories ) return false;
if ( d->date != todo.d->date ) return false;
return true;
}
SmallTodo &SmallTodo::operator=( const SmallTodo& todo ) {
todo.d->ref();
deref();
d = todo.d;
return *this;
}
void SmallTodo::deref() {
if ( d->deref() ) {
delete d;
d = 0;
}
}
QString SmallTodo::name() const {
return d->name;
}
QStringList SmallTodo::categories()const {
return d->categories;
}
int SmallTodo::uid()const {
return d->uid;
}
bool SmallTodo::isCompleted()const {
return d->complete;
}
QDate SmallTodo::date()const {
return d->date;
}
diff --git a/core/pim/todo/smalltodo.h b/core/pim/todo/smalltodo.h
index 963218e..d6db0e6 100644
--- a/core/pim/todo/smalltodo.h
+++ b/core/pim/todo/smalltodo.h
@@ -1,70 +1,72 @@
/*
-               =. This file is part of the OPIE Project
-             .=l. Copyright (c) 2002 <zecke@handhelds.org>
-           .>+-=
- _;:,     .>    :=|. 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
-  -_. . .   )=.  = Library General Public License along with
-    --        :-=` this library; see the file COPYING.LIB.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
-
*/
#ifndef TODO_SMALL_TODO_H
#define TODO_SMALL_TODO_H
#include <qdatetime.h>
#include <qstring.h>
#include <qstringlist.h>
namespace Todo {
/**
* SmallTodo holds everything necessary
* to represent a OPimTodo without holding
* everything from a OPimTodo
*/
class SmallTodo {
public:
SmallTodo(int uid = 0,
bool comp = false,
const QDate& date = QDate::currentDate(),
const QString& = QString::null,
const QStringList& = QStringList() );
SmallTodo( const SmallTodo& );
~SmallTodo();
bool operator==( const SmallTodo& );
bool operator==( const SmallTodo& ) const;
SmallTodo &operator=( const SmallTodo& );
QString name()const;
QStringList categories()const;
int uid()const;
bool isCompleted()const;
QDate date()const;
private:
struct SmallTodoPrivate;
SmallTodoPrivate* d;
void deref();
};
};
#endif
diff --git a/core/pim/todo/tableview.cpp b/core/pim/todo/tableview.cpp
index c64ad46..3e88974 100644
--- a/core/pim/todo/tableview.cpp
+++ b/core/pim/todo/tableview.cpp
@@ -1,354 +1,357 @@
/*
- =. This file is part of the OPIE Project
- .=l. Copyright (c) 2002 <zecke>
- .>+-=
-_;:, .> :=|. 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
- -_. . . )=. = Library General Public License along with
- -- :-=` this library; see the file COPYING.LIB.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 <cctype>
#include <opie2/odebug.h>
#include <opie2/opimrecurrence.h>
+#include <opie2/oresource.h>
#include <qpe/config.h>
#include <qpe/qpeapplication.h>
-#include <qpe/resource.h>
#include <qcombobox.h>
#include <qlineedit.h>
#include <qpopupmenu.h>
#include "mainwindow.h"
//#include "tableitems.h"
#include "tableview.h"
using namespace Todo;
namespace {
static const int BoxSize = 14;
static const int RowHeight = 20;
}
TableView::EditorWidget::EditorWidget() : m_wid(0l), m_row(-1), m_col(-1) {
}
void TableView::EditorWidget::setCellWidget(QWidget* wid, int row, int col ) {
m_wid = wid;
m_row = row;
m_col = col;
}
void TableView::EditorWidget::releaseCellWidget() {
m_wid = 0;
m_row = m_col = -1;
}
QWidget* TableView::EditorWidget::cellWidget()const {
return m_wid;
}
int TableView::EditorWidget::cellRow()const {
return m_row;
}
int TableView::EditorWidget::cellCol()const {
return m_col;
}
void TableView::initConfig() {
Config config( "todo" );
config.setGroup( "Options" );
m_completeStrokeWidth = config.readNumEntry( "CompleteStrokeWidth", 8 );
for (int i = 0; i < numCols(); i++ ) {
int width = config.readNumEntry("Width"+QString::number(i), -1 );
setColumnWidth(i, width == -1 ? columnWidth(i) : width );
}
}
TableView::TableView( MainWindow* window, QWidget* wid )
: QTable( wid ), TodoView( window ) {
setName("TableView");
// Load icons
// TODO - probably should be done globally somewhere else,
// see also quickeditimpl.cpp/h, taskeditoroverview.cpp/h
- m_pic_completed = Resource::loadPixmap( "todo/completed" );
+ m_pic_completed = Opie::Core::OResource::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 );
+ m_pic_priority[ i - 1 ] = Opie::Core::OResource::loadPixmap( namestr );
}
setUpdatesEnabled( false );
viewport()->setUpdatesEnabled( false );
m_enablePaint = false;
setNumRows(0);
setNumCols(4);
horizontalHeader()->setLabel( 0, QWidget::tr("C.") );
horizontalHeader()->setLabel( 1, QWidget::tr("Priority") );
horizontalHeader()->setLabel( 2, QWidget::tr("Summary" ) );
horizontalHeader()->setLabel( 3, QWidget::tr("Deadline") );
setShowDeadline( todoWindow()->showDeadline() );
setSorting( TRUE );
setSelectionMode( NoSelection );
setLeftMargin( 0 );
verticalHeader()->hide();
QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
connect((QTable*)this, SIGNAL( clicked(int,int,int,const QPoint&) ),
this, SLOT( slotClicked(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) ) );
/* now let's init the config */
initConfig();
m_enablePaint = true;
setUpdatesEnabled( true );
viewport()->setUpdatesEnabled( true );
viewport()->update();
setSortOrder( Opie::OPimTodoAccess::Completed );
setAscending( TRUE );
m_first = true;
}
/* a new day has started
* update the day
*/
void TableView::newDay() {
clear();
updateView();
}
TableView::~TableView() {
Config config( "todo" );
config.setGroup( "Options" );
for (int i = 0; i < numCols(); i++ )
config.writeEntry("Width"+QString::number(i), columnWidth(i) );
}
QString TableView::type() const {
return QString::fromLatin1( tr("Table View") );
}
int TableView::current() {
if (numRows() == 0 ) return 0;
int uid = sorted().uidAt(currentRow() );
return uid;
}
int TableView::next() {
if ( numRows() == 0 ) return 0;
if ( currentRow() + 1 >= numRows() ) return 0;
setCurrentCell( currentRow() +1, currentColumn() );
return sorted().uidAt( currentRow() );
}
int TableView::prev() {
if ( numRows() == 0 ) return 0;
if ( currentRow() - 1 < 0 ) return 0;
setCurrentCell( currentRow() -1, currentColumn() );
return sorted().uidAt( currentRow() );
}
QString TableView::currentRepresentation() {
OPimTodo to = sorted()[currentRow()];
return to.summary().isEmpty() ? to.description().left(20) : to.summary() ;
}
/* show overdue */
void TableView::showOverDue( bool ) {
clear();
updateView();
}
void TableView::updateView( ) {
m_row = false;
static int id;
id = startTimer(4000 );
/* FIXME we want one page to be read!
*
* Calculate that screensize
*/
todoWindow()->setReadAhead( 4 );
sort();
OPimTodoAccess::List::Iterator it, end;
it = sorted().begin();
end = sorted().end();
QTime time;
time.start();
m_enablePaint = false;
setUpdatesEnabled( false );
viewport()->setUpdatesEnabled( false );
setNumRows( it.count() );
if ( it.count() == 0 )
killTimer(id);
// int elc = time.elapsed();
setUpdatesEnabled( true );
viewport()->setUpdatesEnabled( true );
viewport()->update();
m_enablePaint = true;
// int el = time.elapsed();
}
void TableView::setTodo( int, const OPimTodo&) {
sort();
/* repaint */
repaint();
}
void TableView::addEvent( const OPimTodo&) {
/* fix problems of not showing the 'Haken' */
updateView();
}
/*
* find the event
* and then replace the complete row
*/
void TableView::replaceEvent( const OPimTodo& ev) {
addEvent( ev );
}
/*
* re aligning table can be slow too
* FIXME: look what performs better
* either this or the old align table
*/
void TableView::removeEvent( int ) {
updateView();
}
void TableView::setShowCompleted( bool ) {
updateView();
}
void TableView::setShowDeadline( bool b ) {
if ( b )
showColumn( 3 );
else
hideColumn( 3 );
// Try to intelligently size columns
// TODO - would use width() below, but doesn't have valid value at time of c'tor
int col2width = 238;
int width = m_pic_completed.width();
setColumnWidth( 0, width );
col2width -= width;
width = fontMetrics().boundingRect( horizontalHeader()->label( 1 ) ).width() + 8;
setColumnWidth( 1, width );
col2width -= width;
if ( b ) {
width = fontMetrics().boundingRect( horizontalHeader()->label( 3 ) ).width() + 8;
setColumnWidth( 3, width );
col2width -= width;
}
setColumnWidth( 2, col2width );
}
void TableView::setShowCategory( const QString& str) {
if ( str != m_oleCat || m_first )
updateView();
m_oleCat = str;
m_first = false;
}
void TableView::clear() {
setNumRows(0);
}
void TableView::slotClicked(int row, int col, int,
const QPoint& point) {
if ( m_editorWidget.cellWidget() ) {
//setCellContentFromEditor(m_editorWidget.cellRow(), m_editorWidget.cellCol() );
endEdit(m_editorWidget.cellRow(), m_editorWidget.cellCol(),
true, true );
m_editorWidget.releaseCellWidget();
}
if ( !cellGeometry(row, col ).contains(point ) )
return;
int ui= sorted().uidAt( row );
switch( col ) {
case 0:{
int x = point.x() -columnPos( col );
int y = point.y() -rowPos( row );
int w = columnWidth( col );
int h = rowHeight( row );
if ( x >= ( w - BoxSize ) / 2 &&
x <= ( w - BoxSize ) / 2 + BoxSize &&
y >= ( h - BoxSize ) / 2 &&
y <= ( h - BoxSize ) / 2 + BoxSize ) {
TodoView::complete(sorted()[row] );
}
}
break;
// Priority emit a double click...
case 1:{
QWidget* wid = beginEdit( row, col, FALSE );
m_editorWidget.setCellWidget( wid, row, col );
}
break;
case 2: {
showTodo( ui );
break;
}
case 3: {
TodoView::edit( ui );
break;
}
}
}
QWidget* TableView::widget() {
return this;
}
/*
* We need to overwrite sortColumn
* because we want to sort whole row
* based
* We event want to set the setOrder
* to a sort() and update()
*/
void TableView::sortColumn( int col, bool asc, bool ) {
switch(col) {
case 1:
col = Opie::OPimTodoAccess::Priority;
break;
case 2:
col = Opie::OPimTodoAccess::SortSummary;
break;
case 3:
col = Opie::OPimTodoAccess::Deadline;
break;
case 0:
default:
col = Opie::OPimTodoAccess::Completed;
break;
}
diff --git a/core/pim/todo/tableview.h b/core/pim/todo/tableview.h
index 46c16e1..6693d86 100644
--- a/core/pim/todo/tableview.h
+++ b/core/pim/todo/tableview.h
@@ -1,124 +1,126 @@
/*
- =. 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
- -_. . . )=. = Library General Public License along with
- -- :-=` this library; see the file COPYING.LIB.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
-
*/
#ifndef OPIE_TABLE_VIEW_H
#define OPIE_TABLE_VIEW_H
#include <qtable.h>
#include <qmap.h>
#include <qpixmap.h>
#include "todoview.h"
class QTimer;
namespace Todo {
class CheckItem;
class DueTextItem;
class TableView : public QTable, public TodoView {
Q_OBJECT
public:
TableView( MainWindow*, QWidget* parent );
~TableView();
QString type()const;
int current();
QString currentRepresentation();
int next();
int prev();
void clear();
void showOverDue( bool );
void updateView();
void setTodo( int uid, const OPimTodo& );
void addEvent( const OPimTodo& event );
void replaceEvent( const OPimTodo& );
void removeEvent( int uid );
void setShowCompleted( bool );
void setShowDeadline( bool );
void setShowCategory(const QString& =QString::null );
void newDay();
QWidget* widget();
void sortColumn(int, bool, bool );
/*
* we do our drawing ourselves
* because we don't want to have
* 40.000 QTableItems for 10.000
* OPimTodos where we only show 10 at a time!
*/
void paintCell(QPainter* p, int row, int col, const QRect&, bool );
private:
/* reimplented for internal reasons */
void viewportPaintEvent( QPaintEvent* );
bool m_enablePaint:1;
QString m_oleCat;
bool m_first : 1;
QPixmap m_pic_completed;
QPixmap m_pic_priority[ 5 ];
protected:
void keyPressEvent( QKeyEvent* );
void contentsMouseReleaseEvent( QMouseEvent *e );
void contentsMousePressEvent( QMouseEvent *e );
void timerEvent( QTimerEvent* e );
QWidget* createEditor(int row, int col, bool initFromCell )const;
void setCellContentFromEditor( int row, int col );
/**
* for inline editing on single click and to work around some
* bug in qt2.3.5
*/
struct EditorWidget {
EditorWidget();
void setCellWidget(QWidget*, int row, int col );
void releaseCellWidget();
QWidget* cellWidget()const;
int cellRow()const;
int cellCol()const;
private:
QWidget* m_wid;
int m_row, m_col;
};
EditorWidget m_editorWidget;
private slots:
void slotClicked(int, int, int,
const QPoint& );
void slotPriority();
private:
void initConfig();
int m_completeStrokeWidth;
bool m_row : 1;
QPoint m_prevP;
};
};
#endif
diff --git a/core/pim/todo/taskeditoralarms.cpp b/core/pim/todo/taskeditoralarms.cpp
index 62fc600..054984d 100644
--- a/core/pim/todo/taskeditoralarms.cpp
+++ b/core/pim/todo/taskeditoralarms.cpp
@@ -1,233 +1,238 @@
/*
-               =. 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.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 "taskeditoralarms.h"
#include <opie2/opimnotifymanager.h>
+#include <opie2/oresource.h>
#include <opie2/otimepicker.h>
#include <qpe/datebookmonth.h>
-#include <qpe/resource.h>
#include <qlistview.h>
#include <qlayout.h>
using namespace Opie::Ui;
class AlarmItem : public QListViewItem {
public:
AlarmItem( QListView*, const OPimAlarm& );
~AlarmItem();
OPimAlarm alarm()const;
void setAlarm( const OPimAlarm& );
private:
QDateTime m_dt;
int m_type;
};
AlarmItem::AlarmItem( QListView* view, const OPimAlarm& dt)
: QListViewItem(view) {
setAlarm( dt );
}
void AlarmItem::setAlarm( const OPimAlarm& dt ) {
m_dt = dt.dateTime();
m_type = dt.sound();
setText( 0, TimeString::dateString( m_dt.date() ) );
setText( 1, TimeString::timeString( m_dt.time() ) );
setText( 2, m_type == 0 ? QObject::tr("silent") : QObject::tr("loud") );
}
AlarmItem::~AlarmItem() {
}
OPimAlarm AlarmItem::alarm()const{
OPimAlarm al( m_type, m_dt );
return al;
}
TaskEditorAlarms::TaskEditorAlarms( QWidget* parent, int, const char* name, WFlags fl )
: QWidget( parent, name, fl )
{
m_date = m_type = m_time = 0;
QGridLayout *layout = new QGridLayout( this, 2, 2, 4, 4 );
lstAlarms = new QListView( this );
lstAlarms->addColumn( tr("Date") );
lstAlarms->addColumn( tr("Time") );
lstAlarms->addColumn( tr("Type") );
connect( lstAlarms, SIGNAL(clicked(QListViewItem*,const QPoint&,int) ),
this, SLOT(inlineEdit(QListViewItem*,const QPoint&,int) ) );
layout->addMultiCellWidget( lstAlarms, 0, 0, 0, 2 );
- QPushButton *btn = new QPushButton( Resource::loadPixmap( "new" ), tr( "New" ), this );
+ QPushButton *btn = new QPushButton( Opie::Core::OResource::loadPixmap( "new", Opie::Core::OResource::SmallIcon ),
+ 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 );
/* use when we've reminders too */
#if 0
- btn = new QPushButton( Resource::loadPixmap( "edit" ), tr( "Edit" ), this );
+ btn = new QPushButton( Opie::Core::OResource::loadPixmap( "edit", Opie::Core::OResource::SmallIcon ),
+ 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 );
#endif
- btn = new QPushButton( Resource::loadPixmap( "trash" ), tr( "Delete" ), this );
+ btn = new QPushButton( Opie::Core::OResource::loadPixmap( "trash", Opie::Core::OResource::SmallIcon ),
+ 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)new AlarmItem(lstAlarms, OPimAlarm(0, QDateTime::currentDateTime() ) );
}
void TaskEditorAlarms::slotEdit(){
}
void TaskEditorAlarms::slotDelete(){
QListViewItem* item = lstAlarms->currentItem();
if (!item) return;
lstAlarms->takeItem( item ); delete item;
}
void TaskEditorAlarms::load( const OPimTodo& todo) {
lstAlarms->clear();
if (!todo.hasNotifiers() ) return;
OPimNotifyManager::Alarms als = todo.notifiers().alarms();
if (als.isEmpty() ) return;
OPimNotifyManager::Alarms::Iterator it = als.begin();
for ( ; it != als.end(); ++it )
(void)new AlarmItem( lstAlarms, (*it) );
}
void TaskEditorAlarms::save( OPimTodo& todo ) {
if (lstAlarms->childCount() <= 0 ) return;
OPimNotifyManager::Alarms alarms;
for ( QListViewItem* item = lstAlarms->firstChild(); item; item = item->nextSibling() ) {
AlarmItem *alItem = static_cast<AlarmItem*>(item);
alarms.append( alItem->alarm() );
}
OPimNotifyManager& manager = todo.notifiers();
manager.setAlarms( alarms );
}
void TaskEditorAlarms::inlineEdit( QListViewItem* alarm, const QPoint& p, int col ) {
if (!alarm) return;
AlarmItem* item = static_cast<AlarmItem*>(alarm);
switch( col ) {
// date
case 0:
return inlineSetDate( item, p );
// time
case 1:
return inlineSetTime( item );
// type
case 2:
return inlineSetType( item, p );
}
}
void TaskEditorAlarms::inlineSetDate( AlarmItem* item, const QPoint& p ) {
QPopupMenu* pop = popup( 0 );
m_dbMonth->setDate( item->alarm().dateTime().date() );
pop->exec(p);
OPimAlarm al = item->alarm();
QDateTime dt = al.dateTime();
dt.setDate( m_dbMonth->selectedDate() );
al.setDateTime( dt );
item->setAlarm( al );
}
void TaskEditorAlarms::inlineSetType( AlarmItem* item, const QPoint& p ) {
int type;
QPopupMenu* pop = popup( 2 );
switch( pop->exec(p) ) {
case 10:
type = 1;
break;
case 20:
default:
type = 0;
}
OPimAlarm al = item->alarm();
al.setSound( type );
item->setAlarm( al );
}
void TaskEditorAlarms::inlineSetTime( AlarmItem* item ) {
OPimAlarm al = item->alarm();
QDateTime dt = al.dateTime();
OTimePickerDialog dialog;
dialog.setTime( dt.time() );
if ( dialog.exec() == QDialog::Accepted ) {
dt.setTime( dialog.time() );
al.setDateTime( dt );
item->setAlarm( al );
}
}
QPopupMenu* TaskEditorAlarms::popup( int column ) {
QPopupMenu* pop = 0;
switch( column ) {
case 0:{
if (!m_date) {
m_date = new QPopupMenu(this);
m_dbMonth = new DateBookMonth(m_date, 0, TRUE);
m_date->insertItem(m_dbMonth);
}
pop = m_date;
}
break;
case 1:
break;
case 2:{
if (!m_type) {
m_type = new QPopupMenu(this);
m_type->insertItem( QObject::tr("loud"), 10 );
m_type->insertItem( QObject::tr("silent"), 20 );
}
pop = m_type;
}
break;
default:
break;
}
return pop;
}
diff --git a/core/pim/todo/taskeditoralarms.h b/core/pim/todo/taskeditoralarms.h
index 2379b0c..5cff352 100644
--- a/core/pim/todo/taskeditoralarms.h
+++ b/core/pim/todo/taskeditoralarms.h
@@ -1,75 +1,77 @@
/*
-               =. This file is part of the OPIE Project
-             .=l. Copyright (c) 2002,2003 <>
-           .>+-=
- _;:,     .>    :=|. 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.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
-
*/
#ifndef TASKEDITORALARMS_H
#define TASKEDITORALARMS_H
#include <opie2/opimtodo.h>
#include <qwidget.h>
class QListView;
class QListViewItem;
using namespace Opie;
class AlarmItem;
class DateBookMonth;
class TaskEditorAlarms : public QWidget
{
Q_OBJECT
public:
enum Type {
Alarm = 0,
Reminders
};
TaskEditorAlarms( QWidget* parent = 0, int type = Alarm, const char* name = 0, WFlags fl = 0 );
~TaskEditorAlarms();
void load( const OPimTodo& );
void save( OPimTodo& );
private:
QPopupMenu* popup( int column );
void inlineSetDate( AlarmItem*, const QPoint& p );
void inlineSetTime( AlarmItem*);
void inlineSetType( AlarmItem*, const QPoint& p );
QListView* lstAlarms;
QPopupMenu* m_date;
QPopupMenu* m_time;
QPopupMenu* m_type;
DateBookMonth* m_dbMonth;
protected slots:
void slotNew();
void slotEdit();
void slotDelete();
void inlineEdit( QListViewItem*, const QPoint& p, int );
};
#endif // TASKEDITORALARMS_H
diff --git a/core/pim/todo/taskeditoroverview.cpp b/core/pim/todo/taskeditoroverview.cpp
index 294acb9..1e43883 100644
--- a/core/pim/todo/taskeditoroverview.cpp
+++ b/core/pim/todo/taskeditoroverview.cpp
@@ -1,175 +1,178 @@
/*
-               =. 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.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 "taskeditoroverview.h"
//#include <opie2/opimrecurrence.h>
+#include <opie2/oresource.h>
+
#include <qpe/categoryselect.h>
#include <qpe/datebookmonth.h>
-#include <qpe/resource.h>
#include <qcheckbox.h>
#include <qlabel.h>
#include <qlayout.h>
#include <qmultilineedit.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 );
+ m_pic_priority[ i - 1 ] = Opie::Core::OResource::loadPixmap( namestr );
}
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, 7, 2, 4, 4 );
// Description
QLabel *label = new QLabel( tr( "Summary:" ), container );
layout->addWidget( label, 0, 0 );
QWhatsThis::add( label, tr( "Enter brief description of the task here." ) );
cmbDesc = new QComboBox( TRUE, container );
cmbDesc->insertItem( tr( "Complete " ) );
cmbDesc->insertItem( tr( "Work on " ) );
cmbDesc->insertItem( tr( "Buy " ) );
cmbDesc->insertItem( tr( "Organize " ) );
cmbDesc->insertItem( tr( "Get " ) );
cmbDesc->insertItem( tr( "Update " ) );
cmbDesc->insertItem( tr( "Create " ) );
cmbDesc->insertItem( tr( "Plan " ) );
cmbDesc->insertItem( tr( "Call " ) );
cmbDesc->insertItem( tr( "Mail " ) );
cmbDesc->clearEdit();
layout->addMultiCellWidget( cmbDesc, 1, 1, 0, 1 );
QWhatsThis::add( cmbDesc, tr( "Enter brief description of the task here." ) );
// Priority
label = new QLabel( QWidget::tr( "Priority:" ), container );
layout->addWidget( label, 2, 0 );
QWhatsThis::add( label, tr( "Select priority of task here." ) );
cmbPriority = new QComboBox( FALSE, container );
cmbPriority->setMinimumHeight( 26 );
cmbPriority->insertItem( m_pic_priority[ 0 ], tr( "Very High" ) );
cmbPriority->insertItem( m_pic_priority[ 1 ], tr( "High" ) );
cmbPriority->insertItem( m_pic_priority[ 2 ], tr( "Normal" ) );
cmbPriority->insertItem( m_pic_priority[ 3 ], tr( "Low" ) );
cmbPriority->insertItem( m_pic_priority[ 4 ], tr( "Very Low" ) );
cmbPriority->setCurrentItem( 2 );
layout->addWidget( cmbPriority, 2, 1 );
QWhatsThis::add( cmbPriority, tr( "Select priority of task here." ) );
// Category
label = new QLabel( tr( "Category:" ), container );
layout->addWidget( label, 3, 0 );
QWhatsThis::add( label, tr( "Select category to organize this task with." ) );
cmbCategory = new CategorySelect( container );
layout->addWidget( cmbCategory, 3, 1 );
QWhatsThis::add( cmbCategory, tr( "Select category to organize this task with." ) );
// Recurrence
ckbRecurrence = new QCheckBox( tr( "Recurring task" ), container );
layout->addMultiCellWidget( ckbRecurrence, 4, 4, 0, 1 );
QWhatsThis::add( ckbRecurrence, tr( "Click here if task happens on a regular basis. If selected, frequency can be set on the Recurrence tab." ) );
connect( ckbRecurrence, SIGNAL(clicked() ), this, SLOT( slotRecClicked() ) );
// Notes
label = new QLabel( tr( "Description:" ), container );
layout->addWidget( label, 5, 0 );
QWhatsThis::add( label, tr( "Enter any additional information about this task here." ) );
mleNotes = new QMultiLineEdit( container );
mleNotes->setWordWrap( QMultiLineEdit::WidgetWidth );
layout->addMultiCellWidget( mleNotes, 6, 6, 0, 1 );
QWhatsThis::add( mleNotes, tr( "Enter any additional information about this task here." ) );
}
TaskEditorOverView::~TaskEditorOverView()
{
}
void TaskEditorOverView::load( const OPimTodo& todo )
{
// Description
cmbDesc->insertItem( todo.summary(), 0 );
cmbDesc->setCurrentItem( 0 );
// Priority
cmbPriority->setCurrentItem( todo.priority() - 1 );
// Category
cmbCategory->setCategories( todo.categories(), "Todo List", tr( "Todo List" ) );
// Recurrence
ckbRecurrence->setChecked( todo.hasRecurrence() );
emit recurranceEnabled( todo.hasRecurrence() );
// Notes
mleNotes->setText( todo.description() );
}
void TaskEditorOverView::save( OPimTodo &todo )
{
// Description
todo.setSummary( cmbDesc->currentText() );
// Priority
todo.setPriority( cmbPriority->currentItem() + 1 );
// Category
if ( cmbCategory->currentCategory() != -1 )
{
QArray<int> arr = cmbCategory->currentCategories();
todo.setCategories( arr );
}
// Recurrence - don't need to save here...
// Notes
todo.setDescription( mleNotes->text() );
}
void TaskEditorOverView::slotRecClicked()
{
emit recurranceEnabled( ckbRecurrence->isChecked() );
}
diff --git a/core/pim/todo/taskeditoroverview.h b/core/pim/todo/taskeditoroverview.h
index 89679f1..db85041 100644
--- a/core/pim/todo/taskeditoroverview.h
+++ b/core/pim/todo/taskeditoroverview.h
@@ -1,71 +1,73 @@
/*
-               =. 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.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
-
*/
#ifndef TASKEDITOROVERVIEW_H
#define TASKEDITOROVERVIEW_H
#include <opie2/opimtodo.h>
#include <qpixmap.h>
#include <qwidget.h>
class CategorySelect;
class QCheckBox;
class QComboBox;
class QMultiLineEdit;
using namespace Opie;
class TaskEditorOverView : public QWidget
{
Q_OBJECT
public:
TaskEditorOverView( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
~TaskEditorOverView();
QComboBox *cmbDesc;
QComboBox *cmbPriority;
CategorySelect *cmbCategory;
QCheckBox *ckbRecurrence;
QMultiLineEdit *mleNotes;
void load( const OPimTodo & );
void save( OPimTodo & );
signals:
void recurranceEnabled( bool );
protected:
QPixmap m_pic_priority[ 5 ];
protected slots:
void slotRecClicked();
};
#endif // TASKEDITOROVERVIEW_H
diff --git a/core/pim/todo/taskeditorstatus.cpp b/core/pim/todo/taskeditorstatus.cpp
index 16351e0..17495a4 100644
--- a/core/pim/todo/taskeditorstatus.cpp
+++ b/core/pim/todo/taskeditorstatus.cpp
@@ -1,282 +1,284 @@
/*
-               =. 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.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 "taskeditorstatus.h"
#include <opie2/opimmaintainer.h>
#include <opie2/opimstate.h>
#include <qpe/datebookmonth.h>
#include <qcheckbox.h>
#include <qcombobox.h>
#include <qlabel.h>
#include <qlayout.h>
#include <qwhatsthis.h>
// FIXME add the hack slots instead of setPopup!!!!
// drw you shouldn't have removed them
TaskEditorStatus::TaskEditorStatus( QWidget* parent, const char* name, WFlags fl )
: QWidget( parent, name, fl )
{
QDate curDate = QDate::currentDate();
m_start = m_comp = m_due = curDate;
QString curDateStr = TimeString::longDateString( curDate );
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, 7, 3, 4, 4 );
// Status
QLabel *label = new QLabel( tr( "Status:" ), container );
layout->addWidget( label, 0, 0 );
QWhatsThis::add( label, tr( "Click here to set the current status of this task." ) );
cmbStatus = new QComboBox( FALSE, container );
cmbStatus->insertItem( tr( "Started" ) );
cmbStatus->insertItem( tr( "Postponed" ) );
cmbStatus->insertItem( tr( "Finished" ) );
cmbStatus->insertItem( tr( "Not started" ) );
layout->addMultiCellWidget( cmbStatus, 0, 0, 1, 2 );
QWhatsThis::add( cmbStatus, tr( "Click here to set the current status of this task." ) );
// Progress
label = new QLabel( tr( "Progress:" ), container );
layout->addWidget( label, 1, 0 );
QWhatsThis::add( label, tr( "Select progress made on this task here." ) );
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->addMultiCellWidget( cmbProgress, 1, 1, 1, 2 );
QWhatsThis::add( cmbProgress, tr( "Select progress made on this task here." ) );
// Start date
ckbStart = new QCheckBox( tr( "Start Date:" ), container );
layout->addWidget( ckbStart, 2, 0 );
QWhatsThis::add( ckbStart, tr( "Click here to set the date this task was started." ) );
connect( ckbStart, SIGNAL( clicked() ), this, SLOT( slotStartChecked() ) );
btnStart = new QPushButton( curDateStr, container );
btnStart->setEnabled( FALSE );
layout->addMultiCellWidget( btnStart, 2, 2, 1, 2 );
QWhatsThis::add( btnStart, tr( "Click here to set the date this task was started." ) );
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, 3, 0 );
QWhatsThis::add( ckbDue, tr( "Click here to set the date this task needs to be completed by." ) );
connect( ckbDue, SIGNAL( clicked() ), this, SLOT( slotDueChecked() ) );
btnDue = new QPushButton( curDateStr, container );
btnDue->setEnabled( FALSE );
layout->addMultiCellWidget( btnDue, 3, 3, 1, 2 );
QWhatsThis::add( btnDue, tr( "Click here to set the date this task needs to be completed by." ) );
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) ) );
// Completed
ckbComp = new QCheckBox( tr( "Completed:" ), container );
layout->addWidget( ckbComp, 4, 0 );
QWhatsThis::add( ckbComp, tr( "Click here to mark this task as completed." ) );
connect( ckbComp, SIGNAL( clicked() ), this, SLOT( slotCompChecked() ) );
btnComp = new QPushButton( curDateStr, container );
btnComp->setEnabled( FALSE );
layout->addMultiCellWidget( btnComp, 4, 4, 1, 2 );
QWhatsThis::add( btnComp, tr( "Click here to set the date this task was completed." ) );
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) ) );
QSpacerItem *spacer = new QSpacerItem( 5, 5, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding );
layout->addItem( spacer, 5, 0 );
// Maintainer mode
#if 0
label = new QLabel( tr( "Maintainer Mode:" ), container );
layout->addWidget( label, 6, 0 );
QWhatsThis::add( label, tr( "Click here to set the maintainer's role." ) );
cmbMaintMode = new QComboBox( FALSE, container );
cmbMaintMode->insertItem( tr( "Nothing" ) );
cmbMaintMode->insertItem( tr( "Responsible" ) );
cmbMaintMode->insertItem( tr( "Done By" ) );
cmbMaintMode->insertItem( tr( "Coordinating" ) );
// layout->addMultiCellWidget( cmbMaintMode, 6, 6, 1, 2 );
QWhatsThis::add( cmbMaintMode, tr( "Click here to set the maintainer's role." ) );
// Maintainer
label = new QLabel( tr( "Maintainer:" ), container );
layout->addWidget( label, 7, 0 );
QWhatsThis::add( label, tr( "This is the name of the current task maintainer." ) );
txtMaintainer = new QLabel( tr( "test" ), container );
txtMaintainer->setTextFormat( QLabel::RichText );
layout->addWidget( txtMaintainer, 7, 1 );
QWhatsThis::add( txtMaintainer, tr( "This is the name of the current task maintainer." ) );
tbtMaintainer = new QToolButton( container );
tbtMaintainer->setPixmap( Resource::loadPixmap( "todo/more" ) );
// layout->addWidget( tbtMaintainer, 7, 2 );
QWhatsThis::add( tbtMaintainer, tr( "Click here to select the task maintainer." ) );
#endif
}
TaskEditorStatus::~TaskEditorStatus()
{
}
void TaskEditorStatus::load( const OPimTodo &todo )
{
QDate date = QDate::currentDate();
QString str = TimeString::longDateString( date );
// Status
int state = todo.hasState()? todo.state().state() : OPimState::NotStarted;
if ( state == OPimState::Undefined )
state = OPimState::NotStarted;
cmbStatus->setCurrentItem( state );
// Progress
cmbProgress->setCurrentItem( todo.progress() / 20 );
// Start date
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 );
// Due date
ckbDue->setChecked( todo.hasDueDate() );
btnDue->setText( TimeString::longDateString( todo.dueDate() ) );
btnDue->setEnabled( todo.hasDueDate() );
m_due = todo.dueDate();
// Completed
ckbComp->setChecked( todo.isCompleted() );
btnComp->setEnabled( todo.hasCompletedDate() );
if ( todo.hasCompletedDate() )
{
m_comp = todo.completedDate();
btnComp->setText( TimeString::longDateString( m_comp ) );
}
else
btnComp->setText( str );
// Maintainer Mode
#if 0
state = todo.hasMaintainer() ? todo.maintainer().mode() : OPimMaintainer::Nothing;
if ( state == OPimMaintainer::Undefined )
state = OPimMaintainer::Nothing;
cmbMaintMode->setCurrentItem( state );
#endif
// Maintainer - not implemented yet
}
void TaskEditorStatus::save( OPimTodo &todo )
{
QDate inval;
// Status
todo.setState( OPimState( cmbStatus->currentItem() ) );
// Progress
todo.setProgress( cmbProgress->currentItem() * 20 );
// Start date
if ( ckbStart->isChecked() )
{
todo.setStartDate( m_start );
}
else
todo.setStartDate( inval );
// Due date
if ( ckbDue->isChecked() )
{
todo.setDueDate( m_due );
todo.setHasDueDate( true );
}
else
todo.setHasDueDate( false );
// Completed
todo.setCompleted( ckbComp->isChecked() );
if ( ckbComp->isChecked() )
{
todo.setCompletedDate( m_comp );
}
else
todo.setCompletedDate( inval );
#if 0
// Maintainer mode - not implemented yet
// Maintainer
/* TODO - resolve name to uid.....*/
todo.setMaintainer( OPimMaintainer( cmbMaintMode->currentItem(), -10 ) );
#endif
}
void TaskEditorStatus::slotStartChecked()
{
btnStart->setEnabled( ckbStart->isChecked() );
}
void TaskEditorStatus::slotCompChecked()
{
btnComp->setEnabled( ckbComp->isChecked() );
}
void TaskEditorStatus::slotDueChecked()
{
btnDue->setEnabled( ckbDue->isChecked() );
diff --git a/core/pim/todo/taskeditorstatus.h b/core/pim/todo/taskeditorstatus.h
index 97129f0..427eaf4 100644
--- a/core/pim/todo/taskeditorstatus.h
+++ b/core/pim/todo/taskeditorstatus.h
@@ -1,103 +1,105 @@
/*
-               =. 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.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
-
*/
#ifndef TASKEDITORSTATUS_H
#define TASKEDITORSTATUS_H
#include <opie2/opimtodo.h>
#include <qdatetime.h>
#include <qwidget.h>
class DateBookMonth;
class QCheckBox;
class QComboBox;
class QLabel;
class QPushButton;
class QToolButton;
using namespace Opie;
/**
* This is the implementation of the Opie Task Editor Advanced tab
* it features the State!
* MaintainerMode
* Description
*/
class TaskEditorStatus : public QWidget
{
Q_OBJECT
public:
TaskEditorStatus( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
~TaskEditorStatus();
QComboBox *cmbStatus;
QLabel *txtMaintainer;
QToolButton *tbtMaintainer;
QComboBox *cmbMaintMode;
QCheckBox *ckbDue;
QPushButton *btnDue;
QCheckBox *ckbStart;
QPushButton *btnStart;
QCheckBox *ckbComp;
QPushButton *btnComp;
QComboBox *cmbProgress;
/*
* I could have a struct which returns a QWidget*
* load and save to a OPimTodo
* and use multiple inheretence with all other widgets
* and then simply iterate over the list of structs
* this way I could easily have plugins for the whole editor....
* but I do not do it -zecke
*/
void load( const OPimTodo & );
void save( OPimTodo & );
private:
QDate m_start;
QDate m_comp;
QDate m_due;
DateBookMonth *m_startBook;
DateBookMonth *m_compBook;
DateBookMonth *m_dueBook;
private slots:
void slotStartChecked();
void slotCompChecked();
void slotDueChecked();
void slotStartChanged( int, int, int );
void slotCompChanged( int, int, int );
void slotDueChanged( int, int, int );
signals:
void dueDateChanged( const QDate& date );
};
#endif // TASKEDITORSTATUS_H
diff --git a/core/pim/todo/templatedialog.cpp b/core/pim/todo/templatedialog.cpp
index 8d72297..9821667 100644
--- a/core/pim/todo/templatedialog.cpp
+++ b/core/pim/todo/templatedialog.cpp
@@ -1,60 +1,90 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 <opie2/odebug.h>
#include <qpushbutton.h>
#include <qhbox.h>
#include <qlayout.h>
#include <qlistview.h>
#include <qlineedit.h>
#include "templatedialog.h"
using namespace Todo;
/* TRANSLATOR Todo::TemplateDialog */
TemplateDialog::TemplateDialog( QWidget* widget )
: QDialog( widget, "TemplateDialog", TRUE )
{
setCaption( QWidget::tr("Template Editor") );
m_main = new QVBoxLayout(this );
m_list = new QListView( this );
m_main->addWidget( m_list, 100 );
m_lne = new QLineEdit( this );
m_main->addWidget( m_lne );
m_btnBar = new QHBox( this );
m_add = new QPushButton( QWidget::tr("Add"), m_btnBar );
m_edit = new QPushButton( QWidget::tr("Edit"), m_btnBar );
m_rem = new QPushButton( QWidget::tr("Remove"), m_btnBar );
m_main->addWidget( m_btnBar );
connect(m_add, SIGNAL(clicked() ),
this, SLOT(slotAdd() ) );
connect(m_edit, SIGNAL(clicked() ),
this, SLOT(slotEdit() ) );
connect(m_rem, SIGNAL(clicked() ),
this, SLOT(slotRemove() ) );
connect(m_lne, SIGNAL(returnPressed() ),
this, SLOT(slotReturn() ) );
}
TemplateDialog::~TemplateDialog() {
// Qt does delete our widgets
}
QListView* TemplateDialog::listView() {
return m_list;
}
QLineEdit* TemplateDialog::edit() {
return m_lne;
}
void TemplateDialog::slotAdd() {
}
void TemplateDialog::slotRemove() {
}
void TemplateDialog::slotEdit() {
}
void TemplateDialog::slotReturn() {
}
diff --git a/core/pim/todo/templatedialog.h b/core/pim/todo/templatedialog.h
index 5886c34..8ed915b 100644
--- a/core/pim/todo/templatedialog.h
+++ b/core/pim/todo/templatedialog.h
@@ -1,44 +1,74 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
+*/
+
#ifndef OPIE_TEMPLATE_DIALOG_H
#define OPIE_TEMPLATE_DIALOG_H
#include <qdialog.h>
#include <qstring.h>
class QListView;
class QPushButton;
class QLabel;
class QHBox;
class QVBoxLayout;
class QLineEdit;
namespace Todo {
class TemplateDialog : public QDialog {
Q_OBJECT
public:
/* it'll be modal */
TemplateDialog( QWidget* parent );
virtual ~TemplateDialog();
protected:
QListView* listView();
QLineEdit* edit();
private slots:
virtual void slotAdd();
virtual void slotRemove();
virtual void slotEdit();
virtual void slotReturn();
private:
QVBoxLayout* m_main;
QHBox* m_btnBar;
QListView* m_list;
QLineEdit *m_lne;
QPushButton* m_add;
QPushButton* m_rem;
QPushButton* m_edit;
};
}
#endif
diff --git a/core/pim/todo/templatedialogimpl.cpp b/core/pim/todo/templatedialogimpl.cpp
index c9ad3d0..0d4090e 100644
--- a/core/pim/todo/templatedialogimpl.cpp
+++ b/core/pim/todo/templatedialogimpl.cpp
@@ -1,127 +1,157 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 <qlineedit.h>
#include "mainwindow.h"
#include "todoeditor.h"
#include "todotemplatemanager.h"
#include "templatedialogimpl.h"
using namespace Todo;
/* TRANSLATOR Todo::TemplateDialogImpl */
namespace {
class TemplateListItem : public QListViewItem {
public:
TemplateListItem( QListView*,
const QString& name,
const OPimTodo& );
~TemplateListItem();
OPimTodo event()const;
QString text()const;
void setText(const QString& str );
void setEvent( const OPimTodo& );
private:
QString m_name;
OPimTodo m_ev;
};
/* implementation */
TemplateListItem::TemplateListItem( QListView* view,
const QString& text,
const OPimTodo& ev )
: QListViewItem( view ), m_name( text ), m_ev( ev )
{
QListViewItem::setText(0, m_name );
}
TemplateListItem::~TemplateListItem() {}
OPimTodo TemplateListItem::event() const {
return m_ev;
}
QString TemplateListItem::text()const {
return m_name;
}
void TemplateListItem::setText( const QString& str ) {
QListViewItem::setText(0, str );
m_name = str;
}
void TemplateListItem::setEvent( const OPimTodo& ev) {
m_ev = ev;
}
}
TemplateDialogImpl::TemplateDialogImpl( MainWindow* win,
TemplateManager* man )
: TemplateDialog( win ), m_win( win), m_man( man )
{
/* fill the listview */
/* not the fastest way.... */
QStringList list = man->templates();
for (QStringList::Iterator it = list.begin();
it != list.end(); ++it ) {
new TemplateListItem( listView(), (*it), man->templateEvent( (*it) ) );
}
listView()->addColumn( QWidget::tr("Name") );
connect( listView(), SIGNAL(clicked(QListViewItem*) ),
this, SLOT(slotClicked(QListViewItem*) ) );
}
TemplateDialogImpl::~TemplateDialogImpl() {
}
void TemplateDialogImpl::slotAdd() {
QString str = QWidget::tr("New Template %1").arg( listView()->childCount() );
OPimTodo ev;
m_man->addEvent(str, ev);
new TemplateListItem( listView(), str, ev );
}
void TemplateDialogImpl::slotRemove() {
if (!listView()->currentItem() )
return;
TemplateListItem* item = static_cast<TemplateListItem*>( listView()->currentItem() );
listView()->takeItem( item );
m_man->removeEvent( item->text() );
delete item;
}
void TemplateDialogImpl::slotEdit() {
if ( !listView()->currentItem() )
return;
TemplateListItem* item = static_cast<TemplateListItem*>( listView()->currentItem() );
OPimTodo ev = m_win->currentEditor()->edit( m_win, item->event() );
if ( m_win->currentEditor()->accepted() ) {
item->setEvent( ev );
m_man->removeEvent( item->text() );
m_man->addEvent( item->text(), ev );
}
}
/*
* we need to update
* the text
*/
void TemplateDialogImpl::slotReturn() {
if ( !listView()->currentItem() )
return;
TemplateListItem* tbl = static_cast<TemplateListItem*>( listView()->currentItem() );
if (tbl->text() != edit()->text() ) {
m_man->removeEvent( tbl->text() );
tbl->setText( edit()->text() );
m_man->addEvent( tbl->text(), tbl->event() );
}
}
/* update the lineedit when changing */
void TemplateDialogImpl::slotClicked( QListViewItem* item) {
if (!item)
return;
TemplateListItem* tbl = static_cast<TemplateListItem*>(item);
edit()->setText( tbl->text() );
}
diff --git a/core/pim/todo/templatedialogimpl.h b/core/pim/todo/templatedialogimpl.h
index cc78521..6affb7d 100644
--- a/core/pim/todo/templatedialogimpl.h
+++ b/core/pim/todo/templatedialogimpl.h
@@ -1,33 +1,63 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
+*/
+
#ifndef OPIE_TEMPLATE_DIALOG_IMPL_H
#define OPIE_TEMPLATE_DIALOG_IMPL_H
#include <qlistview.h>
#include <opie2/opimtodo.h>
#include "templatedialog.h"
namespace Todo {
class MainWindow;
class TemplateManager;
class TemplateDialogImpl : public Todo::TemplateDialog {
Q_OBJECT
public:
TemplateDialogImpl( MainWindow* win, TemplateManager* );
~TemplateDialogImpl();
private:
MainWindow* m_win;
TemplateManager* m_man;
private slots:
void slotAdd();
void slotRemove();
void slotEdit();
void slotReturn();
void slotClicked(QListViewItem*);
};
};
#endif
diff --git a/core/pim/todo/textviewshow.cpp b/core/pim/todo/textviewshow.cpp
index 01e5810..7d93efc 100644
--- a/core/pim/todo/textviewshow.cpp
+++ b/core/pim/todo/textviewshow.cpp
@@ -1,48 +1,78 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 "textviewshow.h"
using namespace Todo;
TextViewShow::TextViewShow( QWidget* parent, MainWindow* win)
: QTextView( parent ), TodoShow(win) {
}
TextViewShow::~TextViewShow() {
}
QString TextViewShow::type()const {
return QString::fromLatin1("TextViewShow");
}
void TextViewShow::slotShow( const OPimTodo& ev ) {
setText( ev.toRichText() );
}
QWidget* TextViewShow::widget() {
return this;
}
void TextViewShow::keyPressEvent( QKeyEvent* event ) {
switch( event->key() ) {
case Qt::Key_Up:
if ( ( visibleHeight() < contentsHeight() ) &&
( verticalScrollBar()->value() > verticalScrollBar()->minValue() ) )
scrollBy( 0, -(visibleHeight()-20) );
else
showPrev();
break;
case Qt::Key_Down:
if ( ( visibleHeight() < contentsHeight() ) &&
( verticalScrollBar()->value() < verticalScrollBar()->maxValue() ) )
scrollBy( 0, visibleHeight()-20 );
else
showNext();
break;
case Qt::Key_Left:
case Qt::Key_Right:
case Qt::Key_F33:
case Qt::Key_Enter:
case Qt::Key_Return:
case Qt::Key_Space:
escapeView();
break;
default:
QTextView::keyPressEvent( event );
break;
}
}
diff --git a/core/pim/todo/textviewshow.h b/core/pim/todo/textviewshow.h
index cc31522..8278ef6 100644
--- a/core/pim/todo/textviewshow.h
+++ b/core/pim/todo/textviewshow.h
@@ -1,20 +1,50 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 <qtextview.h>
#include "todoshow.h"
namespace Todo {
class TextViewShow : public QTextView, public TodoShow {
public:
TextViewShow( QWidget* parent, MainWindow* );
~TextViewShow();
QString type()const;
void slotShow( const OPimTodo& ev );
QWidget* widget();
protected:
void keyPressEvent( QKeyEvent* );
};
};
diff --git a/core/pim/todo/todoedit.h b/core/pim/todo/todoedit.h
index 4e89e93..a607eb2 100644
--- a/core/pim/todo/todoedit.h
+++ b/core/pim/todo/todoedit.h
@@ -1,17 +1,47 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
+*/
+
#ifndef OPIE_TODO_EDIT_H
#define OPIE_TODO_EDIT_H
#include <opie2/opimtodo.h>
namespace Todo {
class Edit {
public:
Edit();
virtual ~Edit();
ToDoEvent newEvent( const OPimTodo& ) = 0;
ToDoEvent editEvent( const OPimTodo& ) = 0;
};
};
#endif
diff --git a/core/pim/todo/todoeditor.cpp b/core/pim/todo/todoeditor.cpp
index a1c559d..d4693a2 100644
--- a/core/pim/todo/todoeditor.cpp
+++ b/core/pim/todo/todoeditor.cpp
@@ -1,62 +1,92 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 <opie2/odebug.h>
#include <qpe/qpeapplication.h>
#include "otaskeditor.h"
#include "todoeditor.h"
using namespace Opie;
using namespace Todo;
Editor::Editor() {
m_accepted = false;
m_self = 0l;
}
Editor::~Editor() {
delete m_self;
m_self = 0;
}
OPimTodo Editor::newTodo( int cur,
QWidget*) {
OTaskEditor *e = self();
e->setCaption( QObject::tr("Enter Task") );
e->init( cur );
int ret = QPEApplication::execDialog( e );
if ( QDialog::Accepted == ret ) {
m_accepted = true;
}else
m_accepted = false;
OPimTodo ev = e->todo();
ev.setUid(1);
return ev;
}
OPimTodo Editor::edit( QWidget *,
const OPimTodo& todo ) {
OTaskEditor *e = self();
e->init( todo );
e->setCaption( QObject::tr( "Edit Task" ) );
int ret = QPEApplication::execDialog( e );
OPimTodo ev = e->todo();
if ( ret == QDialog::Accepted )
m_accepted = true;
else
m_accepted = false;
return ev;
}
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 1ac7f8a..c12824c 100644
--- a/core/pim/todo/todoeditor.h
+++ b/core/pim/todo/todoeditor.h
@@ -1,29 +1,59 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
+*/
+
#ifndef OPIE_TODO_EDITOR_H
#define OPIE_TODO_EDITOR_H
#include <opie2/opimtodo.h>
class OTaskEditor;
namespace Todo {
class Editor {
public:
Editor();
~Editor();
Opie::OPimTodo newTodo( int currentCatId,
QWidget* par );
Opie::OPimTodo edit( QWidget* par,
const Opie::OPimTodo& ev = Opie::OPimTodo() );
bool accepted()const;
protected:
OTaskEditor* self();
private:
bool m_accepted: 1;
OTaskEditor* m_self;
};
};
#endif
diff --git a/core/pim/todo/todomanager.cpp b/core/pim/todo/todomanager.cpp
index fcd5f0e..2a9945d 100644
--- a/core/pim/todo/todomanager.cpp
+++ b/core/pim/todo/todomanager.cpp
@@ -1,126 +1,128 @@
/*
- =. 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
- -_. . . )=. = Library General Public License along with
- -- :-=` this library; see the file COPYING.LIB.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 <opie2/odebug.h>
#include <qpe/categoryselect.h>
#include "todomanager.h"
using namespace Todo;
TodoManager::TodoManager( QObject *obj )
: QObject( obj ) {
m_db = 0l;
m_cat.load( categoryFileName() );
}
TodoManager::~TodoManager() {
delete m_db;
}
OPimTodo TodoManager::event(int uid ) {
return m_db->find( uid );
}
void TodoManager::updateList() {
m_list = m_db->allRecords();
}
OPimTodoAccess::List TodoManager::list() const{
return m_list;
}
OPimTodoAccess::List TodoManager::sorted( bool asc, int so, int f, int cat ) {
return m_db->sorted( asc, so, f, cat );
}
OPimTodoAccess::List::Iterator TodoManager::overDue() {
int filter = Opie::OPimTodoAccess::FilterCategory | Opie::OPimTodoAccess::OnlyOverDue;
m_list = m_db->sorted(m_asc, m_sortOrder, filter, m_ca );
m_it = m_list.begin();
return m_it;
}
OPimTodoAccess::List::Iterator TodoManager::fromTo( const QDate& start,
const QDate& end ) {
m_list = m_db->effectiveToDos( start, end );
m_it = m_list.begin();
return m_it;
}
OPimTodoAccess::List::Iterator TodoManager::query( const OPimTodo& ev, int query ) {
m_list = m_db->queryByExample( ev, query );
m_it = m_list.begin();
return m_it;
}
OPimTodoAccess* TodoManager::todoDB() {
return m_db;
}
void TodoManager::add( const OPimTodo& ev ) {
m_db->add( ev );
}
void TodoManager::update( int, const SmallTodo& ) {
}
void TodoManager::update( int, const OPimTodo& ev) {
m_db->replace( ev );
}
bool TodoManager::remove( int uid ) {
return m_db->remove( uid );
}
void TodoManager::removeAll() {
m_db->clear();
}
void TodoManager::removeCompleted() {
m_db->removeAllCompleted();
}
void TodoManager::save() {
m_db->save();
}
bool TodoManager::saveAll() {
return m_db->save();
}
void TodoManager::reload() {
m_db->reload();
}
QStringList TodoManager::categories() {
m_cat.load(categoryFileName() );
return m_cat.labels( "Todo List");
}
/*
* we rely on load beeing called from populateCategories
*/
int TodoManager::catId( const QString& cats ) {
return m_cat.id( "Todo List", cats );
}
void TodoManager::remove( const QArray<int>& ids) {
for (uint i=0; i < ids.size(); i++ )
remove( ids[i] );
}
bool TodoManager::isLoaded()const {
return (m_db == 0 );
}
void TodoManager::load() {
if (!m_db) {
m_db = new OPimTodoAccess();
m_db->load();
}
}
diff --git a/core/pim/todo/todomanager.h b/core/pim/todo/todomanager.h
index 865b47b..37c3a62 100644
--- a/core/pim/todo/todomanager.h
+++ b/core/pim/todo/todomanager.h
@@ -1,113 +1,115 @@
/*
-               =. 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
-  -_. . .   )=.  = Library General Public License along with
-    --        :-=` this library; see the file COPYING.LIB.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
-
*/
#ifndef OPIE_TODO_MANAGER_H
#define OPIE_TODO_MANAGER_H
#include <opie2/opimtodo.h>
#include <opie2/otodoaccess.h>
#include <qpe/categories.h>
#include <qarray.h>
#include <qobject.h>
#include <qstring.h>
#include "smalltodo.h"
using Opie::OPimTodo;
using Opie::OPimTodoAccess;
namespace Todo {
class TodoManager : public QObject{
Q_OBJECT
public:
bool isLoaded()const;
void load();
TodoManager(QObject* obj = 0);
~TodoManager();
QStringList categories()/*const*/;
int catId(const QString&);
OPimTodo event(int uid );
void updateList();
/** returns the iterator sorted if set sorted*/
OPimTodoAccess::List list()const;
OPimTodoAccess::List sorted( bool asc, int so, int f, int cat );
OPimTodoAccess::List::Iterator overDue();
OPimTodoAccess::List::Iterator fromTo( const QDate& start,
const QDate& end );
OPimTodoAccess::List::Iterator query( const OPimTodo& ev, int query );
void setCategory( bool sort, int category = -1);
void setShowOverDue( bool show );
void setSortOrder( int sortOrder );
void setSortASC( bool );
void sort();
OPimTodoAccess* todoDB();
bool saveAll();
signals:
void update();
void updateCategories();
public slots:
void add( const OPimTodo& );
void update( int uid, const SmallTodo& );
void update( int uid, const OPimTodo& );
bool remove( int uid );
void remove( const QArray<int>& );
/**
* remove all completed
*/
void removeCompleted();
void removeAll();
void reload();
void save();
private:
OPimTodoAccess* m_db;
OPimTodoAccess::List m_list;
OPimTodoAccess::List::Iterator m_it;
OPimTodoAccess::List m_sorted;
Categories m_cat;
int m_ca;
/* sort cat */
bool m_shCat;
int m_sortOrder;
bool m_asc;
};
};
#endif
diff --git a/core/pim/todo/todoshow.cpp b/core/pim/todo/todoshow.cpp
index 5962028..268eb60 100644
--- a/core/pim/todo/todoshow.cpp
+++ b/core/pim/todo/todoshow.cpp
@@ -1,24 +1,53 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 "mainwindow.h"
#include "todoshow.h"
using namespace Todo;
TodoShow::TodoShow(MainWindow* win) {
m_win = win;
}
TodoShow::~TodoShow() {
}
void TodoShow::escapeView() {
if (m_win )
m_win->slotReturnFromView();
}
void TodoShow::showNext() {
if (m_win)
m_win->slotShowNext();
}
void TodoShow::showPrev() {
if (m_win)
m_win->slotShowPrev();
}
diff --git a/core/pim/todo/todoshow.h b/core/pim/todo/todoshow.h
index 1eeadf8..b3e0a1f 100644
--- a/core/pim/todo/todoshow.h
+++ b/core/pim/todo/todoshow.h
@@ -1,62 +1,65 @@
/*
-               =. 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
-  -_. . .   )=.  = Library General Public License along with
-    --        :-=` this library; see the file COPYING.LIB.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
-
*/
+
#ifndef TODO_TODO_SHOW_H
#define TODO_TODO_SHOW_H
#include <qstring.h>
#include <qwidget.h>
#include <opie2/opimtodo.h>
using Opie::OPimTodo;
namespace Todo {
class MainWindow;
/**
* TodoShow is the baseclass of
* of all TodoShows.
* The first implementation is a QTextView
* implementation showing the Todo as richtext
*/
class TodoShow {
public:
TodoShow( MainWindow* win);
virtual ~TodoShow();
virtual QString type()const = 0;
virtual void slotShow( const OPimTodo& ev ) = 0;
virtual QWidget* widget() = 0;
protected:
void escapeView();
void showNext();
void showPrev();
private:
MainWindow *m_win;
};
};
#endif
diff --git a/core/pim/todo/todotemplate.h b/core/pim/todo/todotemplate.h
index 9575737..69ec6dd 100644
--- a/core/pim/todo/todotemplate.h
+++ b/core/pim/todo/todotemplate.h
@@ -1,11 +1,40 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
+*/
+
#ifndef OPIE_TODO_TEMPLATE_H
#define OPIE_TODO_TEMPLATE_H
namespace Todo {
-
};
#endif
diff --git a/core/pim/todo/todotemplatemanager.cpp b/core/pim/todo/todotemplatemanager.cpp
index 7690d37..892ad0d 100644
--- a/core/pim/todo/todotemplatemanager.cpp
+++ b/core/pim/todo/todotemplatemanager.cpp
@@ -1,79 +1,109 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 <opie2/odebug.h>
#include <opie2/otodoaccess.h>
#include <opie2/otodoaccessxml.h>
#include <qpe/config.h>
#include <qpe/global.h>
#include "todotemplatemanager.h"
using namespace Todo;
TemplateManager::TemplateManager() {
m_path = Global::applicationFileName("todolist", "templates.xml");
}
TemplateManager::~TemplateManager() {
save();
}
void TemplateManager::load() {
Config conf("todolist_templates");
OPimTodoAccessXML *xml = new OPimTodoAccessXML( QString::fromLatin1("template"),
m_path );
OPimTodoAccess todoDB(xml );
todoDB.load();
OPimTodoAccess::List::Iterator it;
OPimTodoAccess::List list = todoDB.allRecords();
for ( it = list.begin(); it != list.end(); ++it ) {
OPimTodo ev = (*it);
conf.setGroup( QString::number( ev.uid() ) );
QString str = conf.readEntry("Name", QString::null );
if (str.isEmpty() )
continue;
m_templates.insert( str, ev );
}
}
void TemplateManager::save() {
Config conf("todolist_templates");
OPimTodoAccessXML *res = new OPimTodoAccessXML( "template",
m_path );
OPimTodoAccess db(res);
db.load();
db.clear();
QMap<QString, OPimTodo>::Iterator it;
for ( it = m_templates.begin(); it != m_templates.end(); ++it ) {
OPimTodo ev = it.data();
conf.setGroup( QString::number( ev.uid() ) );
conf.writeEntry("Name", it.key() );
db.add( ev );
}
db.save();
}
void TemplateManager::addEvent( const QString& str,
const OPimTodo& ev) {
OPimTodo todo = ev;
if( ev.uid() == 0 )
todo.setUid(1); // generate a new uid
m_templates.replace( str, todo );
}
void TemplateManager::removeEvent( const QString& str ) {
m_templates.remove( str );
}
QStringList TemplateManager::templates() const {
QStringList list;
QMap<QString, OPimTodo>::ConstIterator it;
for (it = m_templates.begin(); it != m_templates.end(); ++it ) {
list << it.key();
}
return list;
}
OPimTodo TemplateManager::templateEvent( const QString& templateName ) {
return m_templates[templateName];
}
diff --git a/core/pim/todo/todotemplatemanager.h b/core/pim/todo/todotemplatemanager.h
index ee8aaaf..8601ee8 100644
--- a/core/pim/todo/todotemplatemanager.h
+++ b/core/pim/todo/todotemplatemanager.h
@@ -1,33 +1,63 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
+*/
+
#ifndef OPIE_TODO_TEMPLATE_H
#define OPIE_TODO_TEMPLATE_H
#include <opie2/opimtodo.h>
#include <qstring.h>
#include <qmap.h>
using namespace Opie;
namespace Todo {
class TemplateManager {
public:
TemplateManager();
~TemplateManager();
void load();
void save();
QStringList templates()const;
OPimTodo templateEvent( const QString& templateName );
/* also replaces one */
void addEvent( const QString&, const OPimTodo& );
void removeEvent( const QString& );
private:
QString m_path;
QMap<QString, OPimTodo> m_templates;
};
};
#endif
diff --git a/core/pim/todo/todoview.cpp b/core/pim/todo/todoview.cpp
index 3d2c982..937fbd1 100644
--- a/core/pim/todo/todoview.cpp
+++ b/core/pim/todo/todoview.cpp
@@ -1,71 +1,101 @@
+/*
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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 "mainwindow.h"
#include <opie2/odebug.h>
#include "todoview.h"
using namespace Todo;
TodoView::TodoView( MainWindow* win )
: m_main( win )
{
m_asc = false;
m_sortOrder = -1;
}
TodoView::~TodoView() {
};
MainWindow* TodoView::todoWindow() {
return m_main;
}
OPimTodo TodoView::event(int uid ) {
return m_main->event( uid );
}
OPimTodoAccess::List TodoView::list(){
todoWindow()->updateList();
return todoWindow()->list();
}
OPimTodoAccess::List TodoView::sorted()const{
return m_sort;
}
void TodoView::sort() {
m_sort = todoWindow()->sorted(m_asc,m_sortOrder );
owarn << "m_sort.count() = " << m_sort.count() << oendl;
}
void TodoView::sort(int sort) {
m_sort = todoWindow()->sorted(m_asc, m_sortOrder, sort );
}
void TodoView::setSortOrder( int order ) {
m_sortOrder = order;
}
void TodoView::setAscending( bool b ) {
owarn << "setAscending " << b << oendl;
m_asc = b;
}
void TodoView::update(int, const SmallTodo& ) {
//m_main->slotUpate1( uid, to );
}
void TodoView::update(int , const OPimTodo& ev ) {
m_main->updateTodo( ev );
}
void TodoView::showTodo( int uid ) {
m_main->slotShow( uid );
}
void TodoView::edit( int uid ) {
m_main->slotEdit( uid );
}
void TodoView::remove( int uid ) {
m_main->m_todoMgr.remove( uid );
}
void TodoView::complete( int uid ) {
m_main->slotComplete( uid );
}
void TodoView::complete( const OPimTodo& ev ) {
m_main->slotComplete( ev );
}
void TodoView::removeQuery( int uid ) {
m_main->slotDelete( uid );
}
diff --git a/core/pim/todo/todoview.h b/core/pim/todo/todoview.h
index a5ea9f5..6e840e1 100644
--- a/core/pim/todo/todoview.h
+++ b/core/pim/todo/todoview.h
@@ -1,138 +1,140 @@
/*
-               =. 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
-  -_. . .   )=.  = Library General Public License along with
-    --        :-=` this library; see the file COPYING.LIB.
+                 This file is part of the Opie Project
+
+ Copyright (C) Opie Team <opie-devel@handhelds.org>
+ =.
+ .=l.
+           .>+-=
+ _;:,     .>    :=|. This program is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU Library 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
+  -_. . .   )=.  = 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.
-
*/
#ifndef TODO_VIEW_H
#define TODO_VIEW_H
#include <qarray.h>
#include <qstring.h>
#include <qvaluelist.h>
#include <qwidget.h>
#include <opie2/otodoaccess.h>
#include "smalltodo.h"
using Opie::OPimTodo;
using Opie::OPimTodoAccess;
namespace Todo {
class MainWindow;
/**
* due to inheretince problems we need this base class
*/
struct ViewBase {
public:
virtual QWidget* widget() = 0;
virtual QString type()const = 0;
virtual int current() = 0;
virtual QString currentRepresentation() = 0;
virtual void showOverDue( bool ) = 0;
/**
* the next record in the view or 0 if none is there
*/
virtual int next() = 0;
/**
* the previous record or 0 if none is there..
*/
virtual int prev() = 0;
/*
* update the view
*/
virtual void updateView() = 0;
virtual void addEvent( const OPimTodo& ) = 0;
virtual void replaceEvent( const OPimTodo& ) = 0;
virtual void removeEvent( int uid ) = 0;
virtual void setShowCompleted( bool ) = 0;
virtual void setShowDeadline( bool ) = 0;
virtual void setShowCategory( const QString& = QString::null ) = 0;
virtual void clear() = 0;
virtual void newDay() = 0;
};
/**
* A base class for all TodoView which are showing
* a list of todos.
* Either in a QTable, QListView or any other QWidget
* derived class
* Through the MainWindow( dispatcher ) one can access
* the relevant informations
*
* It's not possible to have signal and slots from within
* templates this way you've to register for a signal
*/
class TodoView : public ViewBase{
public:
/**
* c'tor
*/
TodoView( MainWindow* win );
/**
*d'tor
*/
virtual ~TodoView();
protected:
MainWindow* todoWindow();
OPimTodo event(int uid );
OPimTodoAccess::List list();
OPimTodoAccess::List sorted()const;
void sort();
void sort(int sort );
void setSortOrder( int order );
void setAscending( bool );
/*
* These things needs to be implemented
* in a implementation
*/
void showTodo( int uid );
void edit( int uid );
void update(int uid, const SmallTodo& to );
void update(int uid, const OPimTodo& ev);
void remove( int uid );
/* will ask the user if the item should be deleted */
void removeQuery(int uid );
void complete( int uid );
void complete( const OPimTodo& ev );
private:
MainWindow *m_main;
OPimTodoAccess::List m_sort;
bool m_asc : 1;
int m_sortOrder;
};
};
#endif