You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
3.9 KiB
138 lines
3.9 KiB
#ifndef _KARMPART_H_
|
|
#define _KARMPART_H_
|
|
|
|
#include <kparts/part.h>
|
|
#include "karmerrors.h"
|
|
#include <kparts/factory.h>
|
|
#include <karmdcopiface.h>
|
|
#include "reportcriteria.h"
|
|
#include <qlistview.h>
|
|
|
|
class KAccel;
|
|
class KAccelMenuWatch;
|
|
class KarmTray;
|
|
class QWidget;
|
|
class QPainter;
|
|
class KURL;
|
|
|
|
class Preferences;
|
|
class Task;
|
|
class TaskView;
|
|
|
|
/**
|
|
* This is a "Part". It that does all the real work in a KPart
|
|
* application.
|
|
*
|
|
* @short Main Part
|
|
* @author Thorsten Staerk <kde at staerk dot de>
|
|
* @version 0.1
|
|
*/
|
|
class karmPart : public KParts::ReadWritePart, virtual public KarmDCOPIface
|
|
{
|
|
Q_OBJECT
|
|
|
|
private:
|
|
void makeMenus();
|
|
QString _hastodo( Task* task, const QString &taskname ) const;
|
|
QString _hasTask( Task* task, const QString &taskname ) const;
|
|
Task* _hasUid( Task* task, const QString &uid ) const;
|
|
|
|
KAccel* _accel;
|
|
KAccelMenuWatch* _watcher;
|
|
TaskView* _taskView;
|
|
Preferences* _preferences;
|
|
KarmTray* _tray;
|
|
KAction* actionStart;
|
|
KAction* actionStop;
|
|
KAction* actionStopAll;
|
|
KAction* actionDelete;
|
|
KAction* actionEdit;
|
|
// KAction* actionAddComment;
|
|
KAction* actionMarkAsComplete;
|
|
KAction* actionMarkAsIncomplete;
|
|
KAction* actionPreferences;
|
|
KAction* actionClipTotals;
|
|
KAction* actionClipHistory;
|
|
QString m_error[ KARM_MAX_ERROR_NO + 1 ];
|
|
|
|
friend class KarmTray;
|
|
|
|
public:
|
|
karmPart(QWidget *parentWidget, const char *widgetName,
|
|
QObject *parent, const char *name);
|
|
// DCOP
|
|
void quit();
|
|
virtual bool save();
|
|
QString version() const;
|
|
QString taskIdFromName( const QString &taskName ) const;
|
|
/** @reimp from KarmDCOPIface */
|
|
int addTask( const QString &taskName );
|
|
/** @reimp from KarmDCOPIface */
|
|
QString setPerCentComplete( const QString& taskName, int PerCent );
|
|
/** @reimp from KarmDCOPIface */
|
|
int bookTime( const QString& taskId, const QString& iso8601StartDateTime, long durationInMinutes );
|
|
/** @reimp from KarmDCOPIface */
|
|
QString getError( int karmErrorNumber ) const;
|
|
int totalMinutesForTaskId( const QString& taskId );
|
|
QString starttimerfor( const QString &taskname );
|
|
QString stoptimerfor( const QString &taskname );
|
|
QString deletetodo();
|
|
bool getpromptdelete();
|
|
QString setpromptdelete( bool prompt );
|
|
QString exportcsvfile( QString filename, QString from, QString to, int type = 0, bool decimalMinutes=true, bool allTasks=true, QString delimiter="r", QString quote="q" );
|
|
QString importplannerfile( QString filename );
|
|
|
|
virtual ~karmPart();
|
|
|
|
/**
|
|
* This is a virtual function inherited from KParts::ReadWritePart.
|
|
* A shell will use this to inform this Part if it should act
|
|
* read-only
|
|
*/
|
|
virtual void setReadWrite(bool rw);
|
|
|
|
/**
|
|
* Reimplemented to disable and enable Save action
|
|
*/
|
|
virtual void setModified(bool modified);
|
|
|
|
protected:
|
|
/**
|
|
* This must be implemented by each part
|
|
*/
|
|
virtual bool openFile();
|
|
|
|
/**
|
|
* This must be implemented by each read-write part
|
|
*/
|
|
virtual bool saveFile();
|
|
|
|
protected slots:
|
|
void contextMenuRequest( QListViewItem*, const QPoint& point, int );
|
|
void fileOpen();
|
|
void fileSaveAs();
|
|
void slotSelectionChanged();
|
|
void startNewSession();
|
|
};
|
|
|
|
class KInstance;
|
|
class KAboutData;
|
|
|
|
class karmPartFactory : public KParts::Factory
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
karmPartFactory();
|
|
virtual ~karmPartFactory();
|
|
virtual KParts::Part* createPartObject( QWidget *parentWidget, const char *widgetName,
|
|
QObject *parent, const char *name,
|
|
const char *classname, const QStringList &args );
|
|
static KInstance* instance();
|
|
|
|
private:
|
|
static KInstance* s_instance;
|
|
static KAboutData* s_about;
|
|
};
|
|
|
|
#endif // _KARMPART_H_
|