]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/qt-console/mainwin.cpp
Make name more discriptive
[bacula/bacula] / bacula / src / qt-console / mainwin.cpp
index ed1985140710def990339e9348de716db9559b85..a73b3e9636d3008cd345174a83d96c155ab697ba 100644 (file)
 #include "medialist/medialist.h"
 #include "joblist/joblist.h"
 #include "clients/clients.h"
+#include "help/help.h"
+
+/* 
+ * Daemon message callback
+ */
+void message_callback(int /* type */, char *msg)
+{
+   QMessageBox::warning(mainWin, "Bat", msg, QMessageBox::Ok);
+}
 
 MainWin::MainWin(QWidget *parent) : QMainWindow(parent)
 {
    m_dtformat = "yyyy-MM-dd HH:mm:ss";
    mainWin = this;
    setupUi(this);                     /* Setup UI defined by main.ui (designer) */
+   register_message_callback(message_callback);
    readPreferences();
    treeWidget->clear();
    treeWidget->setColumnCount(1);
@@ -260,6 +270,7 @@ void MainWin::createConnections()
    /* Connect signals to slots */
    connect(lineEdit, SIGNAL(returnPressed()), this, SLOT(input_line()));
    connect(actionAbout_bat, SIGNAL(triggered()), this, SLOT(about()));
+   connect(actionBat_Help, SIGNAL(triggered()), this, SLOT(help()));
    connect(treeWidget, SIGNAL(itemClicked(QTreeWidgetItem *, int)), this, 
            SLOT(treeItemClicked(QTreeWidgetItem *, int)));
    connect(treeWidget, SIGNAL(
@@ -301,6 +312,7 @@ void MainWin::writeSettings()
    settings.beginGroup("MainWin");
    settings.setValue("winSize", size());
    settings.setValue("winPos", pos());
+   settings.setValue("state", saveState());
    settings.endGroup();
 }
 
@@ -311,6 +323,7 @@ void MainWin::readSettings()
    settings.beginGroup("MainWin");
    resize(settings.value("winSize", QSize(1041, 801)).toSize());
    move(settings.value("winPos", QPoint(200, 150)).toPoint());
+   restoreState(settings.value("state").toByteArray());
    settings.endGroup();
 }
 
@@ -479,6 +492,11 @@ void MainWin::about()
          " interface to the Director."));
 }
 
+void MainWin::help()
+{
+   Help::displayFile("index.html");
+}
+
 void MainWin::set_statusf(const char *fmt, ...)
 {
    va_list arg_ptr;
@@ -620,6 +638,8 @@ void MainWin::setPreferences()
    prefs.recordSpinBox->setValue(m_recordLimitVal);
    prefs.daysLimit->setCheckState(m_daysLimitCheck ? Qt::Checked : Qt::Unchecked);
    prefs.daysSpinBox->setValue(m_daysLimitVal);
+   prefs.checkMessages->setCheckState(m_checkMessages ? Qt::Checked : Qt::Unchecked);
+   prefs.checkMessagesSpin->setValue(m_checkMessagesInterval);
    prefs.exec();
 }
 
@@ -641,18 +661,29 @@ void prefsDialog::accept()
    mainWin->m_recordLimitVal = this->recordSpinBox->value();
    mainWin->m_daysLimitCheck = this->daysLimit->checkState() == Qt::Checked;
    mainWin->m_daysLimitVal = this->daysSpinBox->value();
+   mainWin->m_checkMessages = this->checkMessages->checkState() == Qt::Checked;
+   mainWin->m_checkMessagesInterval = this->checkMessagesSpin->value();
    QSettings settings("www.bacula.org", "bat");
-   settings.beginGroup("Messages");
+   settings.beginGroup("Debug");
    settings.setValue("commDebug", mainWin->m_commDebug);
    settings.setValue("displayAll", mainWin->m_displayAll);
    settings.setValue("sqlDebug", mainWin->m_sqlDebug);
    settings.setValue("commandDebug", mainWin->m_commandDebug);
    settings.setValue("miscDebug", mainWin->m_miscDebug);
+   settings.endGroup();
+   settings.beginGroup("JobList");
    settings.setValue("recordLimitCheck", mainWin->m_recordLimitCheck);
    settings.setValue("recordLimitVal", mainWin->m_recordLimitVal);
    settings.setValue("daysLimitCheck", mainWin->m_daysLimitCheck);
    settings.setValue("daysLimitVal", mainWin->m_daysLimitVal);
    settings.endGroup();
+   settings.beginGroup("Messages");
+   settings.setValue("checkMessages", mainWin->m_checkMessages);
+   settings.setValue("checkMessagesInterval", mainWin->m_checkMessagesInterval);
+   settings.endGroup();
+   foreach(Console *console, mainWin->m_consoleHash) {
+      console->startTimer();
+   }
 }
 
 void prefsDialog::reject()
@@ -665,15 +696,21 @@ void prefsDialog::reject()
 void MainWin::readPreferences()
 {
    QSettings settings("www.bacula.org", "bat");
-   settings.beginGroup("Messages");
+   settings.beginGroup("Debug");
    m_commDebug = settings.value("commDebug", false).toBool();
    m_displayAll = settings.value("displayAll", false).toBool();
    m_sqlDebug = settings.value("sqlDebug", false).toBool();
    m_commandDebug = settings.value("commandDebug", false).toBool();
    m_miscDebug = settings.value("miscDebug", false).toBool();
+   settings.endGroup();
+   settings.beginGroup("JobList");
    m_recordLimitCheck = settings.value("recordLimitCheck", true).toBool();
    m_recordLimitVal = settings.value("recordLimitVal", 150).toInt();
    m_daysLimitCheck = settings.value("daysLimitCheck", false).toBool();
    m_daysLimitVal = settings.value("daysLimitVal", 28).toInt();
    settings.endGroup();
+   settings.beginGroup("Messages");
+   m_checkMessages = settings.value("checkMessages", false).toBool();
+   m_checkMessagesInterval = settings.value("checkMessagesInterval", 28).toInt();
+   settings.endGroup();
 }