]> git.sur5r.net Git - bacula/bacula/commitdiff
dhb Implement dir_cmd in medialist remove dosql from console
authorDirk H Bartley <dbartley@schupan.com>
Thu, 29 Mar 2007 00:59:27 +0000 (00:59 +0000)
committerDirk H Bartley <dbartley@schupan.com>
Thu, 29 Mar 2007 00:59:27 +0000 (00:59 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@4446 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/qt-console/console/console.cpp
bacula/src/qt-console/console/console.h
bacula/src/qt-console/medialist/medialist.cpp

index 90d5fe1469dabebb98828b5d265b753bdc076968..c7032d00144bb78e6044ac0d7d95745ee5983703 100644 (file)
@@ -577,7 +577,8 @@ void Console::setDirRes(DIRRES *dir)
 { 
    m_dir = dir;
 }
-
+#ifndef xxx
+******FIXME******  Just Delete me
 void Console::dosql(QString* sqlcmd, QStringList& strlstret)
 {
    int stat;
@@ -595,3 +596,4 @@ void Console::dosql(QString* sqlcmd, QStringList& strlstret)
       }
    }
 }
+#endif
index 9faaba4d795e921fa2e70a9eac8c8d56a4b0f9c3..721ed3853880b9e96dd680d9ff34b08b0c2281e7 100644 (file)
@@ -92,7 +92,6 @@ public:
    void displayToPrompt();
    void discardToPrompt();
    void setDirRes(DIRRES *dir);
-   void dosql(QString* sqlcmd, QStringList& strlstret);
 
    QStringList job_list;
    QStringList client_list;
index 592da0525d88d02a3045d0233a62adc1624de90e..452d90f81ffcd6d8dafac97c422d39b1ece13b16 100644 (file)
@@ -54,7 +54,6 @@ MediaList::MediaList(QStackedWidget *parent, Console *console, QTreeWidgetItem *
    m_headerlist = new QStringList();
    m_popupmedia = new QString("");
    m_poollist = new QStringList();
-   m_cmd = new QString("select p.name, m.volumename, m.mediaid, m.mediatype from media m, pool p ORDER BY p.name");
 }
 
 MediaList::~MediaList()
@@ -62,7 +61,6 @@ MediaList::~MediaList()
    delete m_headerlist;
    delete m_popupmedia;
    delete m_poollist;
-   delete m_cmd;
 }
 
 void MediaList::populateTree()
@@ -93,33 +91,38 @@ void MediaList::populateTree()
    QString currentpool("");
    QString resultline;
    QStringList results;
-   m_console->dosql(m_cmd,results);
-   int recordcounter=0;
-   foreach( resultline, results ){
-      QStringList recorditemlist = resultline.split("\t");
-      int recorditemcnter=0;
-      /* Iterate through items in the record */
-      QString mediarecorditem;
-         foreach( mediarecorditem, recorditemlist ){
-         QString trimmeditem = mediarecorditem.trimmed();
-         if( trimmeditem != "" ){
-            if ( recorditemcnter == 0 ){
-               if ( currentpool != trimmeditem.toUtf8().data() ){
-                  currentpool = trimmeditem.toUtf8().data();
-                  pooltreeitem = new QTreeWidgetItem(topItem);
-                  pooltreeitem->setText(0, trimmeditem.toUtf8().data());
-                  pooltreeitem->setData(0, Qt::UserRole, 1);
-                  pooltreeitem->setExpanded( true );
+   const char* m_cmd = ".sql \"select p.name, m.volumename, m.mediaid, m.mediatype from media m, pool p ORDER BY p.name\"";
+   if ( m_console->dir_cmd(m_cmd,results)){
+      int recordcounter=0;
+      foreach( resultline, results ){
+         QRegExp regex("^Using Catalog");
+         if ( regex.indexIn(resultline) < 0 ){
+            QStringList recorditemlist = resultline.split("\t");
+            int recorditemcnter=0;
+            /* Iterate through items in the record */
+            QString mediarecorditem;
+               foreach( mediarecorditem, recorditemlist ){
+               QString trimmeditem = mediarecorditem.trimmed();
+               if( trimmeditem != "" ){
+                  if ( recorditemcnter == 0 ){
+                     if ( currentpool != trimmeditem.toUtf8().data() ){
+                        currentpool = trimmeditem.toUtf8().data();
+                        pooltreeitem = new QTreeWidgetItem(topItem);
+                        pooltreeitem->setText(0, trimmeditem.toUtf8().data());
+                        pooltreeitem->setData(0, Qt::UserRole, 1);
+                        pooltreeitem->setExpanded( true );
+                     }
+                     mediatreeitem = new QTreeWidgetItem(pooltreeitem);
+                  } else {
+                     mediatreeitem->setData(recorditemcnter-1, Qt::UserRole, 2);
+                     mediatreeitem->setText(recorditemcnter-1, trimmeditem.toUtf8().data());
+                  }
+                  recorditemcnter+=1;
                }
-               mediatreeitem = new QTreeWidgetItem(pooltreeitem);
-            } else {
-               mediatreeitem->setData(recorditemcnter-1, Qt::UserRole, 2);
-               mediatreeitem->setText(recorditemcnter-1, trimmeditem.toUtf8().data());
             }
-            recorditemcnter+=1;
          }
+         recordcounter+=1;
       }
-      recordcounter+=1;
    }
 }