karm

karm_part.h

00001 #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 //    KAction* actionAddComment;
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     // DCOP
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_
KDE Home | KDE Accessibility Home | Description of Access Keys