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 <tqlistview.h>
00010
00011 class KAccel;
00012 class KAccelMenuWatch;
00013 class KarmTray;
00014 class TQWidget;
00015 class TQPainter;
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 TQ_OBJECT
00034
00035 private:
00036 void makeMenus();
00037 TQString _hastodo( Task* task, const TQString &taskname ) const;
00038 TQString _hasTask( Task* task, const TQString &taskname ) const;
00039 Task* _hasUid( Task* task, const TQString &uid ) const;
00040
00041 KAccel* _accel;
00042 KAccelMenuWatch* _watcher;
00043 TaskView* _taskView;
00044 Preferences* _preferences;
00045 KarmTray* _tray;
00046 KAction* actionStart;
00047 KAction* actionStop;
00048 KAction* actionStopAll;
00049 KAction* actionDelete;
00050 KAction* actionEdit;
00051
00052 KAction* actionMarkAsComplete;
00053 KAction* actionMarkAsIncomplete;
00054 KAction* actionPreferences;
00055 KAction* actionClipTotals;
00056 KAction* actionClipHistory;
00057 TQString m_error[ KARM_MAX_ERROR_NO + 1 ];
00058
00059 friend class KarmTray;
00060
00061 public:
00062 karmPart(TQWidget *parentWidget, const char *widgetName,
00063 TQObject *parent, const char *name);
00064
00065 void quit();
00066 virtual bool save();
00067 TQString version() const;
00068 TQString taskIdFromName( const TQString &taskName ) const;
00070 int addTask( const TQString &taskName );
00072 TQString setPerCentComplete( const TQString& taskName, int PerCent );
00074 int bookTime( const TQString& taskId, const TQString& iso8601StartDateTime, long durationInMinutes );
00076 TQString getError( int karmErrorNumber ) const;
00077 int totalMinutesForTaskId( const TQString& taskId );
00078 TQString starttimerfor( const TQString &taskname );
00079 TQString stoptimerfor( const TQString &taskname );
00080 TQString deletetodo();
00081 bool getpromptdelete();
00082 TQString setpromptdelete( bool prompt );
00083 TQString exportcsvfile( TQString filename, TQString from, TQString to, int type = 0, bool decimalMinutes=true, bool allTasks=true, TQString delimiter="r", TQString quote="q" );
00084 TQString importplannerfile( TQString filename );
00085
00086 virtual ~karmPart();
00087
00093 virtual void setReadWrite(bool rw);
00094
00098 virtual void setModified(bool modified);
00099
00100 protected:
00104 virtual bool openFile();
00105
00109 virtual bool saveFile();
00110
00111 protected slots:
00112 void contextMenuRequest( TQListViewItem*, const TQPoint& point, int );
00113 void fileOpen();
00114 void fileSaveAs();
00115 void slotSelectionChanged();
00116 void startNewSession();
00117 };
00118
00119 class KInstance;
00120 class KAboutData;
00121
00122 class karmPartFactory : public KParts::Factory
00123 {
00124 Q_OBJECT
00125 TQ_OBJECT
00126 public:
00127 karmPartFactory();
00128 virtual ~karmPartFactory();
00129 virtual KParts::Part* createPartObject( TQWidget *parentWidget, const char *widgetName,
00130 TQObject *parent, const char *name,
00131 const char *classname, const TQStringList &args );
00132 static KInstance* instance();
00133
00134 private:
00135 static KInstance* s_instance;
00136 static KAboutData* s_about;
00137 };
00138
00139 #endif // _KARMPART_H_
|