From 3c5877e3f7fcd101a9868e6da86f12b92b6d4896 Mon Sep 17 00:00:00 2001 From: Fritz Elfert Date: Mon, 5 Mar 2001 10:12:26 +0000 Subject: Fixed some 64bit related stuff in psitime and plpdirent. More work on restore in kpsion. --- kde2/kpsion/kpsion.h | 140 ++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 115 insertions(+), 25 deletions(-) (limited to 'kde2/kpsion/kpsion.h') 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 + * + * 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 +#include #include -#include -#include #include +#include #include +#include #include #include #include @@ -17,8 +41,10 @@ typedef QMap driveMap; typedef QMap 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; -- cgit v1.2.3