]> git.sur5r.net Git - bacula/bacula/commitdiff
Use an sql statement to get defaults.
authorDirk H Bartley <dbartley@schupan.com>
Tue, 3 Mar 2009 00:41:24 +0000 (00:41 +0000)
committerDirk H Bartley <dbartley@schupan.com>
Tue, 3 Mar 2009 00:41:24 +0000 (00:41 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@8497 91ce42f0-d328-0410-95d8-f526ca767f89

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

index 342ab22c134924498a0e8b957c12bef681a4c890..1aadbd7d810818c1917615ad5a5a63d5d1e8548d 100644 (file)
@@ -53,9 +53,36 @@ relabelDialog::relabelDialog(Console *console, QString &fromVolume)
    QString fromText(tr("From Volume : "));
    fromText += fromVolume;
    fromLabel->setText(fromText);
+   QStringList defFields;
+   if (getDefs(defFields) >= 1) {
+      poolCombo->setCurrentIndex(poolCombo->findText(defFields[1], Qt::MatchExactly));
+      storageCombo->setCurrentIndex(storageCombo->findText(defFields[0], Qt::MatchExactly));
+   }
    this->show();
 }
 
+/*
+ * Use an sql statment to get some defaults
+ */
+int relabelDialog::getDefs(QStringList &fieldlist)
+{
+   QString job, client, fileset;
+   QString query("");
+   query = "SELECT mediatype AS MediaType, pool.name AS PoolName"
+   " FROM media"
+   " LEFT OUTER JOIN pool ON media.poolid = pool.poolid"
+   " WHERE volumename = \'" + m_fromVolume  + "\'";
+   if (mainWin->m_sqlDebug) { Pmsg1(000, "query = %s\n", query.toUtf8().data()); }
+   QStringList results;
+   if (m_console->sql_cmd(query, results)) {
+      QString field;
+      /* Iterate through the lines of results, there should only be one. */
+      foreach (QString resultline, results) {
+         fieldlist = resultline.split("\t");
+      } /* foreach resultline */
+   } /* if results from query */
+   return results.count();
+}
 
 void relabelDialog::accept()
 {
index d314235c4bef223eaf36e1c2d5a97e6d1afc6b0c..28dbe421ba6bdd964cf2ce91005c4c36ead8268f 100644 (file)
@@ -43,6 +43,9 @@ class relabelDialog : public QDialog, public Ui::relabelForm
 public:
    relabelDialog(Console *console, QString &fromVolume);
 
+private:
+   int getDefs(QStringList &fieldlist);
+
 private slots:
    void accept();
    void reject();