00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
#ifndef KSYNC_ACTIONPART_H
00024
#define KSYNC_ACTIONPART_H
00025
00026
#include <qpixmap.h>
00027
#include <qstring.h>
00028
#include <kparts/part.h>
00029
#include <qptrlist.h>
00030
#include <qstringlist.h>
00031
00032
#include <kdebug.h>
00033
00034
#include <syncee.h>
00035
#include <synceelist.h>
00036
00037
#include <error.h>
00038
#include <progress.h>
00039
00040
#include "profile.h"
00041
00042
namespace KSync {
00043
00044
class Core;
00045
class Konnector;
00046
00047
enum SyncStatus { SYNC_START=0, SYNC_PROGRESS=1, SYNC_DONE=2, SYNC_FAIL };
00048
00066 class ActionPart :
public KParts::Part
00067 {
00068 Q_OBJECT
00069
public:
00076
ActionPart(
QObject *parent = 0,
const char *name = 0 );
00077
virtual ~
ActionPart();
00078
00082
virtual QString type()
const = 0;
00083
00087
virtual int syncProgress()
const;
00088
00092
virtual int syncStatus()
const;
00093
00097
virtual QString title()
const = 0;
00098
00102
virtual QString description()
const = 0;
00103
00107
virtual QPixmap *
pixmap() = 0;
00108
00112
virtual QString iconName()
const = 0;
00113
00117
virtual bool hasGui()
const;
00118
00122
virtual bool configIsVisible()
const;
00123
00127
virtual bool canSync()
const;
00128
00133
virtual QWidget *
configWidget();
00134
00142
virtual void sync(
const SynceeList &in,
SynceeList &out );
00143
00144
virtual void executeAction() = 0;
00145
00146
virtual void filterKonnectors(
QPtrList<Konnector> & ) {}
00147
00148
virtual bool needsKonnectorRead()
const {
return false; }
00149
00150
virtual bool needsKonnectorWrite()
const {
return false; }
00151
00152
public slots:
00153
virtual void slotSynceesRead(
Konnector * ) {}
00154
00155
virtual void slotSynceeReadError(
Konnector * ) {}
00156
00157
virtual void slotSynceesWritten(
Konnector * ) {}
00158
00159
virtual void slotSynceeWriteError(
Konnector * ) {}
00160
00161
protected:
00162
00167
bool confirmBeforeWriting()
const;
00168
00172
Core *
core();
00173
Core *
core()
const;
00174
00178
void progress(
int );
00179
00180
protected slots:
00181
void progress(
const Progress& );
00182
void error(
const Error& );
00183
void done();
00184
00185 signals:
00186
00187
void sig_progress(
ActionPart *,
int );
00188
void sig_progress(
ActionPart *,
const Progress & );
00189
void sig_error(
ActionPart *,
const Error & );
00190
00191
void sig_syncStatus(
ActionPart *,
int );
00192
00193
protected:
00198
00199
void connectPartChange(
const char* slot);
00200
00201
00202
void connectPartProgress(
const char* slot );
00203
00204
00205
void connectPartError(
const char* slot );
00206
00207
00208
void connectKonnectorProgress(
const char* slot );
00209
00210
00211
void connectKonnectorError(
const char* slot );
00212
00213
00214
void connectSyncProgress(
const char* slot );
00215
00216
00217
void connectProfileChanged(
const char* slot );
00218
00219
00220
void connectKonnectorDownloaded(
const char* slot );
00221
00222
00223
void connectStartSync(
const char* slot);
00224
00225
00226
void connectDoneSync(
const char* slot);
00227
00228
public slots:
00229
virtual void slotConfigOk();
00230
00231
private:
00232
Core *m_window;
00233
int m_prog;
00234
int m_stat;
00235 };
00236
00237 }
00238
00239
#endif