karm_part.h
00001 #ifndef _KARMPART_H_ 00002 #define _KARMPART_H_ 00003 00004 #include <tdeparts/part.h> 00005 #include "karmerrors.h" 00006 #include <tdeparts/factory.h> 00007 #include <karmdcopiface.h> 00008 #include "reportcriteria.h" 00009 #include <tqlistview.h> 00010 00011 class TDEAccel; 00012 class TDEAccelMenuWatch; 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 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 TDEAccel* _accel; 00042 TDEAccelMenuWatch* _watcher; 00043 TaskView* _taskView; 00044 Preferences* _preferences; 00045 KarmTray* _tray; 00046 TDEAction* actionStart; 00047 TDEAction* actionStop; 00048 TDEAction* actionStopAll; 00049 TDEAction* actionDelete; 00050 TDEAction* actionEdit; 00051 // TDEAction* actionAddComment; 00052 TDEAction* actionMarkAsComplete; 00053 TDEAction* actionMarkAsIncomplete; 00054 TDEAction* actionPreferences; 00055 TDEAction* actionClipTotals; 00056 TDEAction* 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 // DCOP 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 TDEInstance; 00120 class TDEAboutData; 00121 00122 class karmPartFactory : public KParts::Factory 00123 { 00124 Q_OBJECT 00125 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 TDEInstance* instance(); 00133 00134 private: 00135 static TDEInstance* s_instance; 00136 static TDEAboutData* s_about; 00137 }; 00138 00139 #endif // _KARMPART_H_