]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/qt-console/mainwin.h
Change copyright as per agreement with FSFE
[bacula/bacula] / bacula / src / qt-console / mainwin.h
index 247fa11c6f28da88fe61e13eac4b35509bf46da0..a88c79deb246b0325d9c97d7905aa50f6e420836 100644 (file)
@@ -1,44 +1,36 @@
 /*
-   Bacula® - The Network Backup Solution
-
-   Copyright (C) 2000-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.
-
-   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., 51 Franklin Street, Fifth Floor, Boston, MA
-   02110-1301, USA.
-
-   Bacula® is a registered trademark of John Walker.
-   The licensor of Bacula is the Free Software Foundation Europe
-   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
-   Switzerland, email:ftf@fsfeurope.org.
-*/
+   Bacula(R) - The Network Backup Solution
+
+   Copyright (C) 2000-2016 Kern Sibbald
+
+   The original author of Bacula is Kern Sibbald, with contributions
+   from many others, a complete list can be found in the file AUTHORS.
+
+   You may use this file and others of this release according to the
+   license defined in the LICENSE file, which includes the Affero General
+   Public License, v3.0 ("AGPLv3") and some additional permissions and
+   terms pursuant to its AGPLv3 Section 7.
 
+   This notice must be preserved when any source code is 
+   conveyed and/or propagated.
+
+   Bacula(R) is a registered trademark of Kern Sibbald.
+*/
 /* 
  * qt-console main window class definition.
  *
- *  Written by Kern Sibbald, January MMVI
+ *  Written by Kern Sibbald, January MMVII
  */
 
 #ifndef _MAINWIN_H_
 #define _MAINWIN_H_
 
 #include <QtGui>
+#include <QList>
 #include "ui_main.h"
 
 class Console;
+class Pages;
 
 class MainWin : public QMainWindow, public Ui::MainForm    
 {
@@ -49,24 +41,127 @@ public:
    void set_statusf(const char *fmt, ...);
    void set_status_ready();
    void set_status(const char *buf);
+   void set_status(const QString &str);
    void writeSettings();
    void readSettings();
+   void resetFocus() { lineEdit->setFocus(); };
+   void hashInsert(QTreeWidgetItem *, Pages *);
+   void hashRemove(Pages *);
+   void hashRemove(QTreeWidgetItem *, Pages *);
+   void setMessageIcon();
+   bool getWaitState() {return m_waitState; };
+   bool isClosing() {return m_isClosing; };
+   Console *currentConsole();
+   QTreeWidgetItem *currentTopItem();
+   Pages* getFromHash(QTreeWidgetItem *);
+   QTreeWidgetItem* getFromHash(Pages *);
+   /* This hash is to get the page when the page selector widget is known */
+   QHash<QTreeWidgetItem*,Pages*> m_pagehash;
+   /* This hash is to get the page selector widget when the page is known */
+   QHash<Pages*,QTreeWidgetItem*> m_widgethash;
+   /* This is a list of consoles */
+   QHash<QTreeWidgetItem*,Console*> m_consoleHash;
+   void createPageJobList(const QString &, const QString &,
+            const QString &, const QString &, QTreeWidgetItem *);
+   QString m_dtformat;
+   /* Begin Preferences variables */
+   bool m_commDebug;
+   bool m_connDebug;
+   bool m_displayAll;
+   bool m_sqlDebug;
+   bool m_commandDebug;
+   bool m_miscDebug;
+   bool m_recordLimitCheck;
+   int m_recordLimitVal;
+   bool m_daysLimitCheck;
+   int m_daysLimitVal;
+   bool m_checkMessages;
+   int m_checkMessagesInterval;
+   bool m_longList;
+   bool m_rtPopDirDebug;
+   bool m_rtDirCurICDebug;
+   bool m_rtDirICDebug;
+   bool m_rtFileTabICDebug;
+   bool m_rtVerTabICDebug;
+   bool m_rtUpdateFTDebug;
+   bool m_rtUpdateVTDebug;
+   bool m_rtChecksDebug;
+   bool m_rtIconStateDebug;
+   bool m_rtRestore1Debug;
+   bool m_rtRestore2Debug;
+   bool m_rtRestore3Debug;
+   bool m_openBrowser;
+   bool m_openPlot;
+   bool m_openDirStat;
+
+   /* Global */
+   bool m_notify;                     /* global flag to turn on/off all notifiers */
 
 public slots:
    void input_line();
    void about();
+   void help();
    void treeItemClicked(QTreeWidgetItem *item, int column);
-   void treeItemDoubleClicked(QTreeWidgetItem *item, int column);
+   void labelButtonClicked();
+   void runButtonClicked();
+   void estimateButtonClicked();
+   void browseButtonClicked();
+   void statusPageButtonClicked();
+   void jobPlotButtonClicked();
+   void restoreButtonClicked();
+   void undockWindowButton();
+   void treeItemChanged(QTreeWidgetItem *, QTreeWidgetItem *);
+   void stackItemChanged(int);
+   void toggleDockContextWindow();
+   void closePage(int item);
+   void closeCurrentPage();
+   void setPreferences();
+   void readPreferences();
+   void waitEnter();
+   void waitExit();
+   void repopLists();
+   void reloadRepopLists();
+   void popLists();
+   void goToPreviousPage();
 
 protected:
    void closeEvent(QCloseEvent *event);
+   void keyPressEvent(QKeyEvent *event);
 
 private:
-   void createConnections(); 
+   void connectConsole();
+   void createPages();
+   void connectSignals(); 
+   void disconnectSignals(); 
+   void connectConsoleSignals();
+   void disconnectConsoleSignals(Console *console);
 
 private:
-   QString m_UserInput;
-   Console *m_console;
+   Console *m_currentConsole;
+   Pages *m_pagespophold;
+   QStringList m_cmd_history;
+   int m_cmd_last;
+   QTreeWidgetItem *m_firstItem;
+   QTreeWidgetItem *m_waitTreeItem;
+   bool m_isClosing;
+   bool m_waitState;
+   bool m_doConnect;
+   QList<QTreeWidgetItem *> m_treeWidgetStack;
+   bool m_treeStackTrap;
+};
+
+#include "ui_prefs.h"
+
+class prefsDialog : public QDialog, public Ui::PrefsForm
+{
+   Q_OBJECT
+
+public:
+   prefsDialog();
+
+private slots:
+   void accept();
+   void reject();
 };
 
 #endif /* _MAINWIN_H_ */