ksync
ksyncview.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KSYNCVIEW_H
00022 #define KSYNCVIEW_H
00023
00024 #include <qptrlist.h>
00025 #include <qwidget.h>
00026
00027 #include <ktempfile.h>
00028 #include <kurl.h>
00029 #include <kio/job.h>
00030 #include <kdebug.h>
00031
00032 #include <ksyncer.h>
00033 #include <kdepimmacros.h>
00034
00035 class QListView;
00036 class QCheckBox;
00037 class QComboBox;
00038 class QPushButton;
00039 class KConfig;
00040 class KURLRequester;
00041
00042 class KSyncer;
00043
00044
00053 class KDE_EXPORT KSyncView : public QWidget
00054 {
00055 Q_OBJECT
00056 public:
00058 KSyncView(QWidget *parent = 0, const char *name=0);
00060 ~KSyncView();
00061
00062 enum { TypeCalendar, TypeBookmarks, TypeAddressBook };
00063
00065 void print(QPrinter *pPrinter);
00066
00067 void readConfig(KConfig *);
00068 void readTypeConfig(KConfig *);
00069 void writeConfig(KConfig *);
00070 void writeTypeConfig(KConfig *);
00071
00072 void synceeLoadError();
00073 void synceeLoaded();
00074
00075 private slots:
00076 void addSource();
00077 void removeSource();
00078 void showSource();
00079 void doSync();
00080 void checkSyncBack();
00081 void reloadSyncees();
00082 void finishSync();
00083 void jobFinished(KIO::Job *job);
00084 void slotSelectionChanged();
00085 private:
00086 void checkFinish();
00087 KSyncee *createSyncee(const KURL &);
00088 QString createTempFile();
00089
00090 QListView *mSourceListView;
00091 QComboBox *mTypeCombo;
00092 KURLRequester *mTargetReq;
00093 QCheckBox *mSyncBackCheck;
00094
00095 int mCurrentType;
00096
00097 KSyncer *mSyncer;
00098 KSyncee *mTarget;
00099 QPtrList<KTempFile> mTmpFiles;
00100 int mLoadCount;
00101 bool mLoadError;
00102 QPushButton *showButton,*removeButton;
00103 };
00104
00105
00106 class SynceeLoader : public QObject
00107 {
00108 Q_OBJECT
00109 public:
00110 SynceeLoader(KSyncView *parent,KSyncee *syncee,const QString &filename) :
00111 mSyncee(syncee), mParent(parent)
00112 {
00113 mSyncee->setFilename(filename);
00114 }
00115 virtual ~SynceeLoader() {}
00116
00117 public slots:
00118 void loadSyncee(KIO::Job *job)
00119 {
00120 if (job->error()) {
00121 job->showErrorDialog(mParent);
00122 mParent->synceeLoadError();
00123 } else {
00124 loadSyncee();
00125 mParent->synceeLoaded();
00126 }
00127 delete this;
00128 }
00129
00130 void loadSyncee()
00131 {
00132 kdDebug() << "SynceeLoader::loadSyncee(): " << mSyncee->filename()
00133 << endl;
00134 if (!mSyncee->load()) {
00135 mParent->synceeLoadError();
00136 }
00137 }
00138
00139 private:
00140 KSyncee *mSyncee;
00141 KSyncView *mParent;
00142 };
00143
00144 #endif // KSYNCVIEW_H
|