1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
#ifndef KARM_MAIN_WINDOW_H
#define KARM_MAIN_WINDOW_H
#include <kparts/mainwindow.h>
#include "karmerrors.h"
#include <karmdcopiface.h>
#include "reportcriteria.h"
class KAccel;
class KAccelMenuWatch;
class KarmTray;
class QListViewItem;
class QPoint;
class QString;
class Preferences;
class PrintDialog;
class Task;
class TaskView;
/**
* Main window to tie the application together.
*/
class MainWindow : public KParts::MainWindow, virtual public KarmDCOPIface
{
Q_OBJECT
private:
void makeMenus();
QString _hasTask( Task* task, const QString &taskname ) const;
Task* _hasUid( Task* task, const QString &uid ) const;
KAccel* _accel;
KAccelMenuWatch* _watcher;
TaskView* _taskView;
long _totalSum;
long _sessionSum;
Preferences* _preferences;
KarmTray* _tray;
KAction* actionStart;
KAction* actionStop;
KAction* actionStopAll;
KAction* actionDelete;
KAction* actionEdit;
KAction* actionMarkAsComplete;
KAction* actionMarkAsIncomplete;
KAction* actionPreferences;
KAction* actionClipTotals;
KAction* actionClipHistory;
QString m_error[ KARM_MAX_ERROR_NO + 1 ];
friend class KarmTray;
//private:
//KDialogBase *dialog;
public:
MainWindow( const QString &icsfile = "" );
virtual ~MainWindow();
// DCOP
QString version() const;
QString taskIdFromName( const QString &taskName ) const;
/** @reimp from KarmDCOPIface::addTask */
int addTask( const QString &storage );
/** @reimp from KarmDCOPIface::setPerCentComplete */
QString setPerCentComplete( const QString& taskName, int PerCent );
/** @reimp from KarmDCOPIface::bookTime */
int bookTime( const QString& taskId, const QString& iso8601StartDateTime, long durationInMinutes );
/** @reimp from KarmDCOPIface::getError */
QString getError( int karmErrorNumber ) const;
int totalMinutesForTaskId( const QString& taskId );
/** start the timer for taskname */
QString starttimerfor( const QString &taskname );
/** stop the timer for taskname */
QString stoptimerfor( const QString &taskname );
QString deletetodo();
/** shall there be a "really delete" question */
bool getpromptdelete();
/** set if there will be a "really delete" question */
QString setpromptdelete( bool prompt );
QString exportcsvfile( QString filename, QString from, QString to, int type, bool decimalMinutes, bool allTasks, QString delimiter, QString quote );
QString importplannerfile( QString filename );
public slots:
void setStatusBar( QString );
void quit();
protected slots:
void keyBindings();
void startNewSession();
void resetAllTimes();
void updateTime( long, long );
void updateStatusBar();
bool save();
void exportcsvHistory();
void print();
void slotSelectionChanged();
void contextMenuRequest( QListViewItem*, const QPoint&, int );
void enableStopAll();
void disableStopAll();
// void timeLoggingChanged( bool on );
protected:
void startStatusBar();
virtual void saveProperties( KConfig* );
virtual void readProperties( KConfig* );
void saveGeometry();
void loadGeometry();
bool queryClose();
};
#endif // KARM_MAIN_WINDOW_H
|