X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fqt-console%2Fmainwin.h;h=addc501e02d80ee2466c8d512fa487ffebf7d3db;hb=2bdf88b4afde8c9fbad936be9d02d3ed82d550a5;hp=13ee72acdc30edcc30a4c5488b1cd83c6c87a78f;hpb=d035d28c9468618c611c09bc29c4b46fde4f94eb;p=bacula%2Fbacula diff --git a/bacula/src/qt-console/mainwin.h b/bacula/src/qt-console/mainwin.h index 13ee72acdc..addc501e02 100644 --- a/bacula/src/qt-console/mainwin.h +++ b/bacula/src/qt-console/mainwin.h @@ -1,31 +1,30 @@ /* Bacula® - The Network Backup Solution - Copyright (C) 2007-2007 Free Software Foundation Europe e.V. + Copyright (C) 2007-2009 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. + modify it under the terms of version three of the GNU Affero General Public + 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 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 + You should have received a copy of the GNU Affero 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. + Bacula® is a registered trademark of Kern Sibbald. The licensor of Bacula is the Free Software Foundation Europe (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich, Switzerland, email:ftf@fsfeurope.org. */ - /* * Version $Id$ * @@ -40,12 +39,9 @@ #include #include #include "ui_main.h" -#include "label/label.h" -#include "run/run.h" -#include "restore/restore.h" -#include "medialist/medialist.h" class Console; +class Pages; class MainWin : public QMainWindow, public Ui::MainForm { @@ -56,42 +52,126 @@ 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 m_pagehash; + /* This hash is to get the page selector widget when the page is known */ + QHash m_widgethash; + /* This is a list of consoles */ + QHash 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 labelDialogClicked(); - void runDialogClicked(); - void restoreDialogClicked(); - void pullWindowOut(); - void pullWindowOutButton(); + 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(); + 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(); - QTreeWidgetItem *createTopPage(char *name ); - QTreeWidgetItem *createPage(char *name, QTreeWidgetItem *parent ); + void connectSignals(); + void disconnectSignals(); + void connectConsoleSignals(); + void disconnectConsoleSignals(Console *console); private: - QString m_UserInput; - Console *m_console; -// bRestore *m_brestore; -// MediaList *m_medialist; - BatStack *m_bstackpophold; - QList m_bstacklist; + Console *m_currentConsole; + Pages *m_pagespophold; QStringList m_cmd_history; int m_cmd_last; - int m_pages; + QTreeWidgetItem *m_firstItem; + QTreeWidgetItem *m_waitTreeItem; + bool m_isClosing; + bool m_waitState; + bool m_doConnect; + QList 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_ */