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