]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/qt-console/storage/storage.cpp
I could not get a few files to compile until I opened and saved these
[bacula/bacula] / bacula / src / qt-console / storage / storage.cpp
index 61b17e44080cfc253d0b494dc6cf9b8ff172575a..6e8ffedcb52ef82dee4942c57bc18dbad1de5782 100644 (file)
@@ -1,14 +1,14 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+   Copyright (C) 2007-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.
+   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
@@ -27,7 +27,7 @@
 */
  
 /*
- *   Version $Id: storage.cpp 4230 2007-02-21 20:07:37Z kerns $
+ *   Version $Id$
  *
  *  Storage Class
  *
@@ -47,12 +47,18 @@ Storage::Storage()
    setupUi(this);
    m_name = "Storage";
    pgInitialize();
+   QTreeWidgetItem* thisitem = mainWin->getFromHash(this);
+   thisitem->setIcon(0,QIcon(QString::fromUtf8(":images/package-x-generic.png")));
 
    /* mp_treeWidget, Storage Tree Tree Widget inherited from ui_storage.h */
    m_populated = false;
    m_checkcurwidget = true;
    m_closeable = false;
    m_currentStorage = "";
+   /* add context sensitive menu items specific to this classto the page
+    * selector tree. m_contextActions is QList of QActions */
+   m_contextActions.append(actionRefreshStorage);
+   dockPage();
 }
 
 Storage::~Storage()
@@ -160,6 +166,9 @@ void Storage::treeItemChanged(QTreeWidgetItem *currentwidgetitem, QTreeWidgetIte
             mp_treeWidget->removeAction(actionLabelStorage);
             mp_treeWidget->removeAction(actionMountStorage);
             mp_treeWidget->removeAction(actionUnMountStorage);
+            mp_treeWidget->removeAction(actionUpdateSlots);
+            mp_treeWidget->removeAction(actionUpdateSlotsScan);
+            mp_treeWidget->removeAction(actionRelease);
          }
       }
 
@@ -173,15 +182,26 @@ void Storage::treeItemChanged(QTreeWidgetItem *currentwidgetitem, QTreeWidgetIte
          mp_treeWidget->addAction(actionLabelStorage);
          mp_treeWidget->addAction(actionMountStorage);
          mp_treeWidget->addAction(actionUnMountStorage);
+         mp_treeWidget->addAction(actionRelease);
          QString text;
-         text = "Status Storage " + m_currentStorage;
+         text = "Status Storage \"" + m_currentStorage + "\"";
          actionStatusStorageInConsole->setText(text);
-         text = "Label media in Storage " + m_currentStorage;
+         text = "Label media in Storage \"" + m_currentStorage + "\"";
          actionLabelStorage->setText(text);
-         text = "Mount media in Storage " + m_currentStorage;
+         text = "Mount media in Storage \"" + m_currentStorage + "\"";
          actionMountStorage->setText(text);
-         text = "\"UN\" Mount media in Storage " + m_currentStorage;
+         text = "\"UN\" Mount media in Storage \"" + m_currentStorage + "\"";
          actionUnMountStorage->setText(text);
+         text = "Release media in Storage \"" + m_currentStorage + "\"";
+         actionRelease->setText(text);
+         if (m_currentAutoChanger != 0) {
+            mp_treeWidget->addAction(actionUpdateSlots);
+            mp_treeWidget->addAction(actionUpdateSlotsScan);
+            text = "Barcode Scan media in Storage \"" + m_currentStorage + "\"";
+            actionUpdateSlots->setText(text);
+            text = "Mount and read scan media in Storage \"" + m_currentStorage + "\"";
+            actionUpdateSlotsScan->setText(text);
+         }
       }
    }
 }
@@ -209,6 +229,12 @@ void Storage::createContextMenu()
                 SLOT(consoleMountStorage()));
    connect(actionUnMountStorage, SIGNAL(triggered()), this,
                 SLOT(consoleUnMountStorage()));
+   connect(actionUpdateSlots, SIGNAL(triggered()), this,
+                SLOT(consoleUpdateSlots()));
+   connect(actionUpdateSlotsScan, SIGNAL(triggered()), this,
+                SLOT(consoleUpdateSlotsScan()));
+   connect(actionRelease, SIGNAL(triggered()), this,
+                SLOT(consoleRelease()));
 }
 
 /*
@@ -218,10 +244,6 @@ void Storage::currentStackItem()
 {
    if(!m_populated) {
       populateTree();
-      /* add context sensitive menu items specific to this classto the page
-       * selector tree. m_contextActions is QList of QActions, so this is 
-       * only done once with the first population. */
-      m_contextActions.append(actionRefreshStorage);
       /* Create the context menu for the storage tree */
       createContextMenu();
       m_populated=true;
@@ -267,3 +289,27 @@ void Storage::consoleUnMountStorage()
    cmd += m_currentStorage;
    consoleCommand(cmd);
 }
+
+/* Update Slots */
+void Storage::consoleUpdateSlots()
+{
+   QString cmd("update slots storage=");
+   cmd += m_currentStorage;
+   consoleCommand(cmd);
+}
+
+/* Update Slots Scan*/
+void Storage::consoleUpdateSlotsScan()
+{
+   QString cmd("update slots scan storage=");
+   cmd += m_currentStorage;
+   consoleCommand(cmd);
+}
+
+/* Release a tape in the drive */
+void Storage::consoleRelease()
+{
+   QString cmd("release storage=");
+   cmd += m_currentStorage;
+   consoleCommand(cmd);
+}