summaryrefslogtreecommitdiff
path: root/core/pim/todo/todoview.h
Side-by-side diff
Diffstat (limited to 'core/pim/todo/todoview.h') (more/less context) (show whitespace changes)
-rw-r--r--core/pim/todo/todoview.h80
1 files changed, 8 insertions, 72 deletions
diff --git a/core/pim/todo/todoview.h b/core/pim/todo/todoview.h
index e5c77f9..e73e808 100644
--- a/core/pim/todo/todoview.h
+++ b/core/pim/todo/todoview.h
@@ -37,55 +37,18 @@
#include <opie/otodoaccess.h>
#include "smalltodo.h"
namespace Todo {
-
- /**
- * According to tronical it's not possible
- * to have Q_OBJECT in a template at all
- * so this is a hack widget not meant
- * to be public
- */
- class InternQtHack : public QObject {
- Q_OBJECT
- public:
- InternQtHack() : QObject() {};
- void emitShow(int uid) { emit showTodo(uid); }
- void emitEdit(int uid) { emit edit(uid ); }
- void emitUpdate( int uid,
- const SmallTodo& to) {
- emit update(uid, to );
- }
- void emitUpdate( int uid,
- const OTodo& ev ){
- emit update(uid, ev );
- }
- void emitRemove( int uid ) {
- emit remove( uid );
- }
- void emitUpdate( QWidget* wid ) {
- emit update( wid );
- }
- signals:
- void showTodo(int uid );
- void edit(int uid );
- void update( int uid, const Todo::SmallTodo& );
- void update( int uid, const OTodo& );
- /* sorry you need to cast */;
- void update( QWidget* wid );
- void remove( int uid );
-
- };
class MainWindow;
/**
* due to inheretince problems we need this base class
*/
- class ViewBase {
+ 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;
@@ -99,22 +62,13 @@ namespace Todo {
virtual void replaceEvent( const OTodo& ) = 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 QArray<int> completed() = 0; */
virtual void newDay() = 0;
-
- virtual void connectShow( QObject*, const char* ) = 0;
- virtual void connectEdit( QObject*, const char* ) = 0;
- virtual void connectUpdateSmall( QObject*, const char* ) = 0;
- virtual void connectUpdateBig( QObject*, const char* ) = 0;
- virtual void connectUpdateView( QObject*, const char*) = 0;
- virtual void connectRemove( QObject*, const char* ) = 0;
-
};
/**
* A base class for all TodoView which are showing
* a list of todos.
* Either in a QTable, QListView or any other QWidget
@@ -135,52 +89,34 @@ namespace Todo {
/**
*d'tor
*/
virtual ~TodoView();
- /* connect to the show signal */
- void connectShow(QObject* obj,
- const char* slot );
-
- /* connect to edit */
- void connectEdit( QObject* obj,
- const char* slot );
- void connectUpdateSmall( QObject* obj,
- const char* slot );
- void connectUpdateBig( QObject* obj,
- const char* slot ) ;
- void connectUpdateView( QObject* obj,
- const char* slot );
- void connectRemove( QObject* obj,
- const char* slot );
protected:
MainWindow* todoWindow();
OTodo event(int uid );
OTodoAccess::List list();
OTodoAccess::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
- signals:
+ * These things needs to be implemented
+ * in a implementation
*/
- protected:
- void showTodo( int uid ) { hack->emitShow(uid); }
- void edit( int uid ) { hack->emitEdit(uid); }
+ void showTodo( int uid );
+ void edit( int uid );
void update(int uid, const SmallTodo& to );
void update(int uid, const OTodo& ev);
- void remove( int uid ) {
- hack->emitRemove( uid );
- }
+ void remove( int uid );
+ void complete( int uid );
+ void complete( const OTodo& ev );
private:
- InternQtHack* hack;
MainWindow *m_main;
OTodoAccess::List m_sort;
bool m_asc : 1;
int m_sortOrder;
};
};