aboutsummaryrefslogtreecommitdiffstats
path: root/kde2/kpsion/kpsion.h
diff options
context:
space:
mode:
Diffstat (limited to 'kde2/kpsion/kpsion.h')
-rw-r--r--kde2/kpsion/kpsion.h140
1 files changed, 115 insertions, 25 deletions
diff --git a/kde2/kpsion/kpsion.h b/kde2/kpsion/kpsion.h
index 86aeff4..2543fa6 100644
--- a/kde2/kpsion/kpsion.h
+++ b/kde2/kpsion/kpsion.h
@@ -1,15 +1,39 @@
+/*-*-c++-*-
+ * $Id$
+ *
+ * This file is part of plptools.
+ *
+ * Copyright (C) 1999-2001 Fritz Elfert <felfert@to.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
#ifndef _KPSION_H_
#define _KPSION_H_
#include "setupdialog.h"
+#include "statusbarprogress.h"
#include <kmainwindow.h>
+#include <kcmdlineargs.h>
#include <kiconview.h>
-#include <kprogress.h>
-#include <ksqueezedtextlabel.h>
#include <klistview.h>
+#include <kdialogbase.h>
#include <ktar.h>
+#include <qtextstream.h>
#include <rfsv.h>
#include <rpcs.h>
#include <ppsocket.h>
@@ -17,8 +41,10 @@
typedef QMap<char,QString> driveMap;
typedef QMap<QString,QString> psionMap;
-class KPsionCheckListItem : public QCheckListItem {
- public:
+class KPsionCheckListItem : public QObject, public QCheckListItem {
+ Q_OBJECT
+
+public:
KPsionCheckListItem(KPsionCheckListItem *parent, const QString &text,
Type tt)
: QCheckListItem(parent, text, tt) { init(true); }
@@ -34,25 +60,43 @@ class KPsionCheckListItem : public QCheckListItem {
KPsionCheckListItem(QListView *parent, const QString &text,
const QPixmap &p)
: QCheckListItem(parent, text, p) { init(false); }
- void setMetaData(int, time_t);
- protected:
+ KPsionCheckListItem *firstChild() const;
+ KPsionCheckListItem *nextSibling() const;
+
+ ~KPsionCheckListItem();
+
+ virtual QString key(int column, bool ascending) const;
+ void setMetaData(int bType, time_t bTime, QString tarName, int size,
+ u_int32_t tHi, u_int32_t tLo, u_int32_t attr);
+
+ QString unixname();
+ QString psionname();
+ QString tarname();
+ PlpDirent plpdirent();
+ int backupType();
+ int size();
+ time_t when();
+ bool isPathChecked(QString path);
+
+signals:
+ void rootToggled(void);
+
+protected:
virtual void stateChange(bool);
void propagateUp(bool);
void propagateDown(bool);
- private:
+private:
void init(bool);
-
- bool parentIsKPsionCheckListItem;
- bool dontPropagate;
- int backupType;
- time_t when;
+ class KPsionCheckListItemMetaData;
+ KPsionCheckListItemMetaData *meta;
};
class KPsionBackupListView : public KListView {
Q_OBJECT
- public:
+
+public:
enum backupTypes {
UNKNOWN = 0,
FULL = 1,
@@ -60,21 +104,50 @@ class KPsionBackupListView : public KListView {
};
KPsionBackupListView(QWidget *parent = 0, const char *name = 0);
+ KPsionCheckListItem *firstChild() const;
+
void readBackups(QString uid);
- PlpDir &getRestoreList();
+ PlpDir &getRestoreList(QString tarname);
+ QStringList getSelectedTars();
+ bool autoSelect(QString drive);
+
+signals:
+ void itemsEnabled(bool);
- private:
- void listTree(KPsionCheckListItem *cli, const KTarEntry *te, int level);
+private slots:
+ void slotRootToggled(void);
+
+private:
+ void collectEntries(KPsionCheckListItem *i);
+ void listTree(KPsionCheckListItem *cli, const KTarEntry *te,
+ QTextIStream &idx, int level);
QString uid;
QString backupDir;
PlpDir toRestore;
};
+class KPsionRestoreDialog : public KDialogBase {
+ Q_OBJECT
+
+public:
+ KPsionRestoreDialog(QWidget *parent, QString uid);
+
+ PlpDir &getRestoreList(QString tarname);
+ QStringList getSelectedTars();
+ bool autoSelect(QString drive);
+
+private slots:
+ void slotBackupsSelected(bool);
+
+private:
+ KPsionBackupListView *backupView;
+};
+
class KPsionMainWindow : public KMainWindow {
Q_OBJECT
-
- public:
+
+public:
KPsionMainWindow();
~KPsionMainWindow();
void setMachineName(QString &_name) { machineName = _name; }
@@ -83,8 +156,20 @@ class KPsionMainWindow : public KMainWindow {
psionMap &getMachines() { return machines; }
QString &getMachineName() { return machineName; }
QString &getBackupDir() { return backupDir; }
+ bool isConnected() { return connected; }
+ const KTarEntry *findTarEntry(const KTarEntry *te, QString path,
+ QString rpath = "");
- public slots:
+ static QString unix2psion(const char * const);
+ static QString psion2unix(const char * const);
+
+signals:
+ void setProgress(int);
+ void setProgress(int, int);
+ void setProgressText(const QString &);
+ void enableProgressText(bool);
+
+public slots:
void slotStartRestore();
void slotStartFullBackup();
void slotStartIncBackup();
@@ -93,20 +178,21 @@ class KPsionMainWindow : public KMainWindow {
void slotToggleStatusbar();
void slotSaveOptions();
void slotPreferences();
-
- protected:
+ void slotProgressBarPressed();
+
+protected:
virtual bool queryClose();
void setupActions();
void switchActions();
void queryPsion();
void insertDrive(char letter, const char * const name);
- private slots:
+private slots:
void iconClicked(QIconViewItem *i);
void iconOver(QIconViewItem *i);
void slotUpdateTimer();
- private:
+private:
void doBackup();
void tryConnect();
void updateProgress(unsigned long);
@@ -114,6 +200,7 @@ class KPsionMainWindow : public KMainWindow {
void killSave();
void runRestore();
void createIndex();
+ bool askOverwrite(PlpDirent e);
rfsv *plpRfsv;
rpcs *plpRpcs;
@@ -121,18 +208,20 @@ class KPsionMainWindow : public KMainWindow {
ppsocket *rpcsSocket;
SetupDialog *setupDialog;
KIconView *view;
- KProgress *progress;
- KSqueezedTextLabel *progressLabel;
+ KPsionStatusBarProgress *progress;
KTarGz *backupTgz;
+ KCmdLineArgs *args;
driveMap drives;
psionMap machines;
+ QStringList overWriteList;
QStringList backupDrives;
QStringList savedCommands;
QString backupDir;
QString machineName;
QString statusMsg;
QString ncpdDevice;
+ QString progressTotalText;
bool S5mx;
bool backupRunning;
bool restoreRunning;
@@ -142,6 +231,7 @@ class KPsionMainWindow : public KMainWindow {
bool firstTry;
bool shuttingDown;
bool fullBackup;
+ bool overWriteAll;
int reconnectTime;
int nextTry;
int ncpdSpeed;