karm
karm_part.h00001 #ifndef _KARMPART_H_
00002 #define _KARMPART_H_
00003
00004 #include <kparts/part.h>
00005 #include "karmerrors.h"
00006 #include <kparts/factory.h>
00007 #include <karmdcopiface.h>
00008 #include "reportcriteria.h"
00009 #include <qlistview.h>
00010
00011 class KAccel;
00012 class KAccelMenuWatch;
00013 class KarmTray;
00014 class QWidget;
00015 class QPainter;
00016 class KURL;
00017
00018 class Preferences;
00019 class Task;
00020 class TaskView;
00021
00030 class karmPart : public KParts::ReadWritePart, virtual public KarmDCOPIface
00031 {
00032 Q_OBJECT
00033
00034 private:
00035 void makeMenus();
00036 QString _hastodo( Task* task, const QString &taskname ) const;
00037 QString _hasTask( Task* task, const QString &taskname ) const;
00038 Task* _hasUid( Task* task, const QString &uid ) const;
00039
00040 KAccel* _accel;
00041 KAccelMenuWatch* _watcher;
00042 TaskView* _taskView;
00043 Preferences* _preferences;
00044 KarmTray* _tray;
00045 KAction* actionStart;
00046 KAction* actionStop;
00047 KAction* actionStopAll;
00048 KAction* actionDelete;
00049 KAction* actionEdit;
00050
00051 KAction* actionMarkAsComplete;
00052 KAction* actionMarkAsIncomplete;
00053 KAction* actionPreferences;
00054 KAction* actionClipTotals;
00055 KAction* actionClipHistory;
00056 QString m_error[ KARM_MAX_ERROR_NO + 1 ];
00057
00058 friend class KarmTray;
00059
00060 public:
00061 karmPart(QWidget *parentWidget, const char *widgetName,
00062 QObject *parent, const char *name);
00063
00064 void quit();
00065 virtual bool save();
00066 QString version() const;
00067 QString taskIdFromName( const QString &taskName ) const;
00069 int addTask( const QString &taskName );
00071 QString setPerCentComplete( const QString& taskName, int PerCent );
00073 int bookTime( const QString& taskId, const QString& iso8601StartDateTime, long durationInMinutes );
00075 QString getError( int karmErrorNumber ) const;
00076 int totalMinutesForTaskId( const QString& taskId );
00077 QString starttimerfor( const QString &taskname );
00078 QString stoptimerfor( const QString &taskname );
00079 QString deletetodo();
00080 bool getpromptdelete();
00081 QString setpromptdelete( bool prompt );
00082 QString exportcsvfile( QString filename, QString from, QString to, int type = 0, bool decimalMinutes=true, bool allTasks=true, QString delimiter="r", QString quote="q" );
00083 QString importplannerfile( QString filename );
00084
00085 virtual ~karmPart();
00086
00092 virtual void setReadWrite(bool rw);
00093
00097 virtual void setModified(bool modified);
00098
00099 protected:
00103 virtual bool openFile();
00104
00108 virtual bool saveFile();
00109
00110 protected slots:
00111 void contextMenuRequest( QListViewItem*, const QPoint& point, int );
00112 void fileOpen();
00113 void fileSaveAs();
00114 void slotSelectionChanged();
00115 void startNewSession();
00116 };
00117
00118 class KInstance;
00119 class KAboutData;
00120
00121 class karmPartFactory : public KParts::Factory
00122 {
00123 Q_OBJECT
00124 public:
00125 karmPartFactory();
00126 virtual ~karmPartFactory();
00127 virtual KParts::Part* createPartObject( QWidget *parentWidget, const char *widgetName,
00128 QObject *parent, const char *name,
00129 const char *classname, const QStringList &args );
00130 static KInstance* instance();
00131
00132 private:
00133 static KInstance* s_instance;
00134 static KAboutData* s_about;
00135 };
00136
00137 #endif // _KARMPART_H_
|