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
00010 class KAccel;
00011 class KAccelMenuWatch;
00012 class KarmTray;
00013 class QWidget;
00014 class QPainter;
00015 class KURL;
00016
00017 class Preferences;
00018 class Task;
00019 class TaskView;
00020
00029 class karmPart : public KParts::ReadWritePart, virtual public KarmDCOPIface
00030 {
00031 Q_OBJECT
00032
00033 private:
00034 void makeMenus();
00035 QString _hastodo( Task* task, const QString &taskname ) const;
00036 QString _hasTask( Task* task, const QString &taskname ) const;
00037 Task* _hasUid( Task* task, const QString &uid ) const;
00038
00039 KAccel* _accel;
00040 KAccelMenuWatch* _watcher;
00041 TaskView* _taskView;
00042 Preferences* _preferences;
00043 KarmTray* _tray;
00044 KAction* actionStart;
00045 KAction* actionStop;
00046 KAction* actionStopAll;
00047 KAction* actionDelete;
00048 KAction* actionEdit;
00049
00050 KAction* actionMarkAsComplete;
00051 KAction* actionMarkAsIncomplete;
00052 KAction* actionPreferences;
00053 KAction* actionClipTotals;
00054 KAction* actionClipHistory;
00055 QString m_error[ KARM_MAX_ERROR_NO ];
00056
00057 friend class KarmTray;
00058
00059 public:
00060 karmPart(QWidget *parentWidget, const char *widgetName,
00061 QObject *parent, const char *name);
00062
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 fileOpen();
00112 void fileSaveAs();
00113 void slotSelectionChanged();
00114
00115 };
00116
00117 class KInstance;
00118 class KAboutData;
00119
00120 class karmPartFactory : public KParts::Factory
00121 {
00122 Q_OBJECT
00123 public:
00124 karmPartFactory();
00125 virtual ~karmPartFactory();
00126 virtual KParts::Part* createPartObject( QWidget *parentWidget, const char *widgetName,
00127 QObject *parent, const char *name,
00128 const char *classname, const QStringList &args );
00129 static KInstance* instance();
00130
00131 private:
00132 static KInstance* s_instance;
00133 static KAboutData* s_about;
00134 };
00135
00136 #endif // _KARMPART_H_
|