]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/qt-console/restore/restore.h
Oops. When I changed the contents of the field earlier, I forgot to make this change
[bacula/bacula] / bacula / src / qt-console / restore / restore.h
index b1b43f495d34c3f903f7faa5438cb0bc03518db6..c70c9a9647b869a5dde00bae306af7d2e2d68f98 100644 (file)
@@ -4,14 +4,14 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+   Copyright (C) 2007-2007 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
    This program is Free Software; you can redistribute it and/or
    modify it under the terms of version two of the GNU General Public
-   License as published by the Free Software Foundation plus additions
-   that are listed in the file LICENSE.
+   License as published by the Free Software Foundation and included
+   in the file LICENSE.
 
    This program is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of
  */
 
 #include <QtGui>
+#include "pages.h"
 #include "ui_brestore.h"
 #include "ui_restore.h"
 #include "ui_prerestore.h"
 
-class Console;
+enum {
+   R_NONE,
+   R_JOBIDLIST,
+   R_JOBDATETIME
+};
 
-class prerestoreDialog : public QDialog, public Ui::prerestoreForm
+/*
+ * The pre-restore dialog selects the Job/Client to be restored
+ * It really could use considerable enhancement.
+ */
+class prerestorePage : public Pages, public Ui::prerestoreForm
 {
    Q_OBJECT 
 
 public:
-   prerestoreDialog(Console *parent);
-
-public slots:
+   prerestorePage();
+   prerestorePage(QString &data, unsigned int);
+
+private slots:
+   void okButtonPushed();
+   void cancelButtonPushed();
+   void job_name_change(int index);
+   void recentChanged(int);
+   void jobRadioClicked(bool);
+   void jobidsRadioClicked(bool);
+   void jobIdEditFinished();
 
 private:
-
+   int jobdefsFromJob(QStringList &, QString &);
+   void buildPage();
+   bool checkJobIdList();
+   QString m_dataIn;
+   unsigned int m_dataInType;
 };
 
-class restoreDialog : public QDialog, public Ui::restoreForm
+/*  
+ * The restore dialog is brought up once we are in the Bacula
+ * restore tree routines.  It handles putting up a GUI tree
+ * representation of the files to be restored.
+ */
+class restorePage : public Pages, public Ui::restoreForm
 {
    Q_OBJECT 
 
 public:
-   restoreDialog(Console *parent);
-
-public slots:
+   restorePage();
+   ~restorePage();
+   void fillDirectory();
+   char *get_cwd();
+   bool cwd(const char *);
+
+private slots:
+   void okButtonPushed();
+   void cancelButtonPushed();
+   void fileDoubleClicked(QTreeWidgetItem *item, int column);
+   void directoryItemChanged(QTreeWidgetItem *, QTreeWidgetItem *);
+   void upButtonPushed();
+   void unmarkButtonPushed();
+   void markButtonPushed();
+   void addDirectory(QString &);
 
 private:
-
+   void writeSettings();
+   void readSettings();
+   QString m_cwd;
+   QHash<QString, QTreeWidgetItem *> m_dirPaths;
+   QHash<QTreeWidgetItem *,QString> m_dirTreeItems;
 };
 
 
-class bRestore : public QWidget, public Ui::bRestoreForm
+class bRestore : public Pages, public Ui::bRestoreForm
 {
    Q_OBJECT 
 
 public:
-   bRestore(QStackedWidget *parent);
+   bRestore();
+   ~bRestore();
 
 public slots:
 
@@ -81,6 +124,4 @@ private:
 
 };
 
-
-
 #endif /* _RESTORE_H_ */