karm

karm_part.h
1 #ifndef _KARMPART_H_
2 #define _KARMPART_H_
3 
4 #include <kparts/part.h>
5 #include "karmerrors.h"
6 #include <kparts/factory.h>
7 #include <karmdcopiface.h>
8 #include "reportcriteria.h"
9 #include <tqlistview.h>
10 
11 class KAccel;
12 class KAccelMenuWatch;
13 class KarmTray;
14 class TQWidget;
15 class TQPainter;
16 class KURL;
17 
18 class Preferences;
19 class Task;
20 class TaskView;
21 
30 class karmPart : public KParts::ReadWritePart, virtual public KarmDCOPIface
31 {
32  Q_OBJECT
33  TQ_OBJECT
34 
35  private:
36  void makeMenus();
37  TQString _hastodo( Task* task, const TQString &taskname ) const;
38  TQString _hasTask( Task* task, const TQString &taskname ) const;
39  Task* _hasUid( Task* task, const TQString &uid ) const;
40 
41  KAccel* _accel;
42  KAccelMenuWatch* _watcher;
43  TaskView* _taskView;
44  Preferences* _preferences;
45  KarmTray* _tray;
46  KAction* actionStart;
47  KAction* actionStop;
48  KAction* actionStopAll;
49  KAction* actionDelete;
50  KAction* actionEdit;
51 // KAction* actionAddComment;
52  KAction* actionMarkAsComplete;
53  KAction* actionMarkAsIncomplete;
54  KAction* actionPreferences;
55  KAction* actionClipTotals;
56  KAction* actionClipHistory;
57  TQString m_error[ KARM_MAX_ERROR_NO + 1 ];
58 
59  friend class KarmTray;
60 
61 public:
62  karmPart(TQWidget *parentWidget, const char *widgetName,
63  TQObject *parent, const char *name);
64  // DCOP
65  void quit();
66  virtual bool save();
67  TQString version() const;
68  TQString taskIdFromName( const TQString &taskName ) const;
70  int addTask( const TQString &taskName );
72  TQString setPerCentComplete( const TQString& taskName, int PerCent );
74  int bookTime( const TQString& taskId, const TQString& iso8601StartDateTime, long durationInMinutes );
76  TQString getError( int karmErrorNumber ) const;
77  int totalMinutesForTaskId( const TQString& taskId );
78  TQString starttimerfor( const TQString &taskname );
79  TQString stoptimerfor( const TQString &taskname );
80  TQString deletetodo();
81  bool getpromptdelete();
82  TQString setpromptdelete( bool prompt );
83  TQString exportcsvfile( TQString filename, TQString from, TQString to, int type = 0, bool decimalMinutes=true, bool allTasks=true, TQString delimiter="r", TQString quote="q" );
84  TQString importplannerfile( TQString filename );
85 
86  virtual ~karmPart();
87 
93  virtual void setReadWrite(bool rw);
94 
98  virtual void setModified(bool modified);
99 
100 protected:
104  virtual bool openFile();
105 
109  virtual bool saveFile();
110 
111 protected slots:
112  void contextMenuRequest( TQListViewItem*, const TQPoint& point, int );
113  void fileOpen();
114  void fileSaveAs();
115  void slotSelectionChanged();
116  void startNewSession();
117 };
118 
119 class KInstance;
120 class KAboutData;
121 
122 class karmPartFactory : public KParts::Factory
123 {
124  Q_OBJECT
125  TQ_OBJECT
126 public:
127  karmPartFactory();
128  virtual ~karmPartFactory();
129  virtual KParts::Part* createPartObject( TQWidget *parentWidget, const char *widgetName,
130  TQObject *parent, const char *name,
131  const char *classname, const TQStringList &args );
132  static KInstance* instance();
133 
134 private:
135  static KInstance* s_instance;
136  static KAboutData* s_about;
137 };
138 
139 #endif // _KARMPART_H_