]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/qt-console/status/clientstat.cpp
ebl Add more tests in migration time test (like for copy time test)
[bacula/bacula] / bacula / src / qt-console / status / clientstat.cpp
index 5f616c0d1e383ef90b06f87513e032ff174b6b3c..c215cccefb969b7b542f6e32d30992509906e6e1 100644 (file)
@@ -20,7 +20,7 @@
    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.
 #include "bat.h"
 #include "clientstat.h"
 
-/*
- *       .status client=XXX header
- *       .status client=XXX running
- *       .status client=XXX terminated
- */
-
 /*
  * Constructor for the class
  */
@@ -49,12 +43,11 @@ ClientStat::ClientStat(QString &client, QTreeWidgetItem *parentTreeWidgetItem)
 {
    m_client = client;
    setupUi(this);
-   m_name = tr("Client Status");
    m_closeable = true;
-   pgInitialize(parentTreeWidgetItem);
+   pgInitialize(tr("Client Status %1").arg(m_client), parentTreeWidgetItem);
    QTreeWidgetItem* thisitem = mainWin->getFromHash(this);
    thisitem->setIcon(0,QIcon(QString::fromUtf8(":images/status.png")));
-   m_cursor = new QTextCursor(textEdit->document());
+   m_cursor = new QTextCursor(textEditHeader->document());
 
    readSettings();
    dockPage();
@@ -68,7 +61,7 @@ ClientStat::ClientStat(QString &client, QTreeWidgetItem *parentTreeWidgetItem)
 
 void ClientStat::getFont()
 {
-   QFont font = textEdit->font();
+   QFont font = textEditHeader->font();
 
    QString dirname;
    m_console->getDirResName(dirname);
@@ -78,7 +71,7 @@ void ClientStat::getFont()
    font.setPointSize(settings.value("consolePointSize", 10).toInt());
    font.setFixedPitch(settings.value("consoleFixedPitch", true).toBool());
    settings.endGroup();
-   textEdit->setFont(font);
+   textEditHeader->setFont(font);
 }
 
 /*
@@ -119,13 +112,15 @@ void ClientStat::timerTriggered()
 void ClientStat::populateHeader()
 {
    QString command = QString(".status client=\"" + m_client + "\" header");
+   if (mainWin->m_commandDebug)
+      Pmsg1(000, "sending command : %s\n",command.toUtf8().data());
    QStringList results;
-   textEdit->clear();
+   textEditHeader->clear();
 
    if (m_console->dir_cmd(command, results)) {
       foreach (QString line, results) {
          line += "\n";
-         textEdit->insertPlainText(line);
+         textEditHeader->insertPlainText(line);
       }
    }
 }
@@ -136,6 +131,8 @@ void ClientStat::populateHeader()
 void ClientStat::populateTerminated()
 {
    QString command = QString(".status client=\"" + m_client + "\" terminated");
+   if (mainWin->m_commandDebug)
+      Pmsg1(000, "sending command : %s\n",command.toUtf8().data());
    QStringList results;
    QBrush blackBrush(Qt::black);
 
@@ -168,12 +165,13 @@ void ClientStat::populateTerminated()
             p_tableitem->setFlags(0);
             if (flaglist[column].contains("R"))
                p_tableitem->setTextAlignment(Qt::AlignRight);
-            if (flaglist[column].contains("C"))
+            if (flaglist[column].contains("C")) {
                if (field == "OK")
                   p_tableitem->setBackground(Qt::green);
                else
-                  p_tableitem->setBackground(Qt::red);
-            terminatedTable->setItem(row, column, p_tableitem);
+                p_tableitem->setBackground(Qt::red);
+           }
+            terminatedTable->setItem(results.size() - row - 1, column, p_tableitem);
             column += 1;
          }
          row += 1;
@@ -185,46 +183,22 @@ void ClientStat::populateTerminated()
 }
 
 /*
- * Populate running table
+ * Populate running text
  */
 void ClientStat::populateRunning()
 {
    QString command = QString(".status client=\"" + m_client + "\" running");
-   Pmsg1(100, "Clients running cmd : %s\n",command.toUtf8().data());
+   if (mainWin->m_commandDebug)
+      Pmsg1(000, "sending command : %s\n",command.toUtf8().data());
    QStringList results;
-   QBrush blackBrush(Qt::black);
-
-   runningTable->clear();
-   QStringList headerlist = (QStringList()
-      << tr("Job Id") << tr("Job Level") << tr("Job Data") << tr("Job Info"));
-
-   runningTable->setColumnCount(headerlist.size());
-   runningTable->setHorizontalHeaderLabels(headerlist);
+   textEditRunning->clear();
 
    if (m_console->dir_cmd(command, results)) {
-      int row = 0;
-      QTableWidgetItem* p_tableitem;
-      runningTable->setRowCount(results.size());
       foreach (QString line, results) {
-         /* Iterate through the record returned from the query */
-         QStringList fieldlist = line.split("\t");
-         int column = 0;
-         QString statusCode("");
-         /* Iterate through fields in the record */
-         foreach (QString field, fieldlist) {
-            field = field.trimmed();  /* strip leading & trailing spaces */
-            p_tableitem = new QTableWidgetItem(field, 1);
-            p_tableitem->setForeground(blackBrush);
-            p_tableitem->setFlags(0);
-            runningTable->setItem(row, column, p_tableitem);
-            column += 1;
-         }
-         row += 1;
+         line += "\n";
+         textEditRunning->insertPlainText(line);
       }
    }
-   runningTable->resizeColumnsToContents();
-   runningTable->resizeRowsToContents();
-   runningTable->verticalHeader()->hide();
 }
 
 /*
@@ -259,12 +233,6 @@ void ClientStat::createConnections()
 {
    connect(actionRefresh, SIGNAL(triggered()), this,
                    SLOT(populateAll()));
-   connect(actionCancelRunning, SIGNAL(triggered()), this,
-                   SLOT(consoleCancelJob()));
-
-   runningTable->setContextMenuPolicy(Qt::ActionsContextMenu);
-   runningTable->addAction(actionRefresh);
-   runningTable->addAction(actionCancelRunning);
 }
 
 /*
@@ -284,24 +252,9 @@ void ClientStat::writeSettings()
 void ClientStat::readSettings()
 {
    m_groupText = "ClientStatPage";
-   m_splitText = "splitterSizes_0";
+   m_splitText = "splitterSizes_1";
    QSettings settings(m_console->m_dir->name(), "bat");
    settings.beginGroup(m_groupText);
    splitter->restoreState(settings.value(m_splitText).toByteArray());
    settings.endGroup();
 }
-
-/*
- * Cancel a running job
- */
-void ClientStat::consoleCancelJob()
-{
-   int currentrow = runningTable->currentRow();
-   QTableWidgetItem *item = runningTable->item(currentrow, 0);
-   if (item) {
-      QString text = item->text();
-      QString cmd("cancel jobid=");
-      cmd += text;
-      consoleCommand(cmd);
-   }
-}