kitchensync

backup.h

00001 /*
00002     This file is part of KitchenSync.
00003 
00004     Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org>
00005 
00006     This library is free software; you can redistribute it and/or
00007     modify it under the terms of the GNU Library General Public
00008     License as published by the Free Software Foundation; either
00009     version 2 of the License, or (at your option) any later version.
00010 
00011     This library is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014     Library General Public License for more details.
00015 
00016     You should have received a copy of the GNU Library General Public License
00017     along with this library; see the file COPYING.LIB.  If not, write to
00018     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019     Boston, MA 02110-1301, USA.
00020 */
00021 #ifndef KSYNC_BACKUP_H
00022 #define KSYNC_BACKUP_H
00023 
00024 #include <actionpart.h>
00025 
00026 #include <synceelist.h>
00027 
00028 #include <libkcal/calendarlocal.h>
00029 
00030 #include <klocale.h>
00031 
00032 #include <qpixmap.h>
00033 #include <qptrlist.h>
00034 #include <qlistview.h>
00035 
00036 class KAboutData;
00037 
00038 class QTextView;
00039 
00040 class CustomComboBox;
00041 
00042 namespace KSync {
00043 
00044 class KonnectorView;
00045 class BackupView;
00046 
00047 class Backup : public ActionPart
00048 {
00049    Q_OBJECT
00050   public:
00051     Backup( QWidget *parent, const char *name,
00052             QObject *object = 0, const char *name2 = 0, // make GenericFactory loading possible
00053             const QStringList & = QStringList() );
00054     virtual ~Backup();
00055 
00056     static KAboutData *createAboutData();
00057 
00058     QString type() const;
00059     QString title() const;
00060     QString description() const;
00061     bool hasGui() const;
00062     QPixmap *pixmap();
00063     QString iconName() const;
00064     QWidget *widget();
00065 
00066     void logMessage( const QString & );
00067 
00068     void executeAction();
00069 
00070     bool needsKonnectorRead() const { return true; }
00071 
00072   protected:
00073     Konnector *currentKonnector();
00074 
00075     void updateRestoreList();
00076 
00077     QString topBackupDir() const;
00078 
00079     void tryFinishBackup();
00080 
00081     QString backupFile( Konnector *k, Syncee *s );
00082 
00083     void backupKonnector( Konnector *k );
00084 
00085   protected slots:
00086     void slotBackupDeleted( const QString & );
00087     
00088   private:
00089     QPixmap mPixmap;
00090     QWidget *mWidget;
00091 
00092     KonnectorView *mKonnectorList;
00093     BackupView *mBackupView;
00094     QTextView *mLogView;
00095 
00096     QPtrList<Konnector> mOpenedKonnectors;
00097     uint mKonnectorCount;
00098 
00099     QString mBackupDir;
00100 
00101     bool mActive;
00102 };
00103 
00104 }
00105 
00106 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys