karm
mainwindow.h00001 #ifndef KARM_MAIN_WINDOW_H
00002 #define KARM_MAIN_WINDOW_H
00003
00004 #include <kparts/mainwindow.h>
00005
00006 #include "karmerrors.h"
00007 #include <karmdcopiface.h>
00008 #include "reportcriteria.h"
00009
00010 class KAccel;
00011 class KAccelMenuWatch;
00012 class KarmTray;
00013 class QListViewItem;
00014 class QPoint;
00015 class QString;
00016
00017 class Preferences;
00018 class PrintDialog;
00019 class Task;
00020 class TaskView;
00021
00026 class MainWindow : public KParts::MainWindow, virtual public KarmDCOPIface
00027 {
00028 Q_OBJECT
00029
00030 private:
00031 void makeMenus();
00032 QString _hasTask( Task* task, const QString &taskname ) const;
00033 Task* _hasUid( Task* task, const QString &uid ) const;
00034
00035 KAccel* _accel;
00036 KAccelMenuWatch* _watcher;
00037 TaskView* _taskView;
00038 long _totalSum;
00039 long _sessionSum;
00040 Preferences* _preferences;
00041 KarmTray* _tray;
00042 KAction* actionStart;
00043 KAction* actionStop;
00044 KAction* actionStopAll;
00045 KAction* actionDelete;
00046 KAction* actionEdit;
00047 KAction* actionMarkAsComplete;
00048 KAction* actionMarkAsIncomplete;
00049 KAction* actionPreferences;
00050 KAction* actionClipTotals;
00051 KAction* actionClipHistory;
00052 QString m_error[ KARM_MAX_ERROR_NO + 1 ];
00053
00054 friend class KarmTray;
00055
00056
00057
00058
00059
00060
00061
00062 public:
00063 MainWindow( const QString &icsfile = "" );
00064 virtual ~MainWindow();
00065
00066
00067 QString version() const;
00068 QString taskIdFromName( const QString &taskName ) const;
00070 int addTask( const QString &storage );
00072 QString setPerCentComplete( const QString& taskName, int PerCent );
00074 int bookTime( const QString& taskId, const QString& iso8601StartDateTime, long durationInMinutes );
00076 QString getError( int karmErrorNumber ) const;
00077 int totalMinutesForTaskId( const QString& taskId );
00078 QString starttimerfor( const QString &taskname );
00079 QString stoptimerfor( const QString &taskname );
00080 QString deletetodo();
00081 bool getpromptdelete();
00082 QString setpromptdelete( bool prompt );
00083 QString exportcsvfile( QString filename, QString from, QString to, int type, bool decimalMinutes, bool allTasks, QString delimiter, QString quote );
00084 QString importplannerfile( QString filename );
00085
00086 public slots:
00087 void quit();
00088
00089 protected slots:
00090 void keyBindings();
00091 void startNewSession();
00092 void resetAllTimes();
00093 void updateTime( long, long );
00094 void updateStatusBar();
00095 bool save();
00096 void exportcsvHistory();
00097 void print();
00098 void slotSelectionChanged();
00099 void contextMenuRequest( QListViewItem*, const QPoint&, int );
00100 void enableStopAll();
00101 void disableStopAll();
00102
00103
00104 protected:
00105 void startStatusBar();
00106 virtual void saveProperties( KConfig* );
00107 virtual void readProperties( KConfig* );
00108 void saveGeometry();
00109 void loadGeometry();
00110 bool queryClose();
00111
00112 };
00113
00114 #endif // KARM_MAIN_WINDOW_H
|