/*
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.
+ 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
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$
*
#include <QtGui>
#include <QList>
#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
{
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; };
+ 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_refreshStatusDir;
+ int m_refreshStatusDirInterval;
+ 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;
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 popLists();
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;
- BatStack *m_bstackpophold;
- QList<BatStack*> m_bstacklist;
- QList<BatStack*> m_bstackindex;
+ 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;
+};
+
+#include "ui_prefs.h"
+
+class prefsDialog : public QDialog, public Ui::PrefsForm
+{
+ Q_OBJECT
+
+public:
+ prefsDialog();
+
+private slots:
+ void accept();
+ void reject();
};
#endif /* _MAINWIN_H_ */