]> git.sur5r.net Git - bacula/bacula/commitdiff
Get jump from jobs to joblist query of specific job to work.
authorDirk H Bartley <dbartley@schupan.com>
Wed, 30 May 2007 17:40:21 +0000 (17:40 +0000)
committerDirk H Bartley <dbartley@schupan.com>
Wed, 30 May 2007 17:40:21 +0000 (17:40 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@4942 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/qt-console/clients/clients.cpp
bacula/src/qt-console/joblist/joblist.cpp
bacula/src/qt-console/joblist/joblist.h
bacula/src/qt-console/jobs/jobs.cpp
bacula/src/qt-console/mainwin.cpp
bacula/src/qt-console/mainwin.h
bacula/src/qt-console/medialist/medialist.cpp

index 922ee9056ff79ac87bc6f7c78b25d7be9aa2497d..adbbdd159f06b7aa4b0ba9b89948e0fd765a976f 100644 (file)
@@ -213,7 +213,7 @@ void Clients::createContextMenu()
 void Clients::showJobs()
 {
    QTreeWidgetItem *parentItem = mainWin->getFromHash(this);
-   mainWin->createPageJobList("", m_currentlyselected, parentItem);
+   mainWin->createPageJobList("", m_currentlyselected, "", parentItem);
 }
 
 /*
index bc1585affac8b2e60d1ccbde3f2fc5da00db36b2..a5956f858e599254f3cdcfe8cc0f3cdfd7c5bf07 100644 (file)
 /*
  * Constructor for the class
  */
-JobList::JobList(const QString &mediaName, const QString &clientname,
-         QTreeWidgetItem *parentTreeWidgetItem)
+JobList::JobList(const QString &mediaName, const QString &clientName,
+          const QString &jobName, QTreeWidgetItem *parentTreeWidgetItem)
 {
    setupUi(this);
    m_name = ""; /* treeWidgetName has a virtual override in this class */
    m_mediaName = mediaName;
-   m_clientName = clientname;
+   m_clientName = clientName;
+   m_jobName = jobName;
    pgInitialize(parentTreeWidgetItem);
    QTreeWidgetItem* thisitem = mainWin->getFromHash(this);
    thisitem->setIcon(0,QIcon(QString::fromUtf8(":images/emblem-system.svg")));
@@ -55,7 +56,8 @@ JobList::JobList(const QString &mediaName, const QString &clientname,
    m_resultCount = 0;
    m_populated = false;
    m_closeable = false;
-   if ((m_mediaName != "") || (m_clientName != "")) { m_closeable=true; }
+   if ((m_mediaName != "") || (m_clientName != "") || (m_jobName != ""))
+      m_closeable=true;
    m_checkCurrentWidget = true;
    createConnections();
 
@@ -112,6 +114,10 @@ void JobList::populateTable()
       }
       jobComboBox->addItem("Any");
       jobComboBox->addItems(m_console->job_list);
+      int jobIndex = jobComboBox->findText(m_jobName, Qt::MatchExactly);
+      if (jobIndex != -1) {
+         jobComboBox->setCurrentIndex(jobIndex);
+      }
       levelComboBox->addItem("Any");
       levelComboBox->addItems( QStringList() << "F" << "D" << "I");
       purgedComboBox->addItem("Any");
@@ -164,6 +170,8 @@ void JobList::populateTable()
       conditions.append("Client.Name='" + m_clientName + "'");
    }
    int jobIndex = jobComboBox->currentIndex();
+   if (jobIndex != -1)
+      m_jobName = jobComboBox->itemText(jobIndex);
    if ((jobIndex != -1) && (jobComboBox->itemText(jobIndex) != "Any")) {
       conditions.append("Job.Name='" + jobComboBox->itemText(jobIndex) + "'");
    }
@@ -315,7 +323,7 @@ void JobList::currentStackItem()
  */
 void JobList::treeWidgetName(QString &desc)
 {
-   if ((m_mediaName == "") && (m_clientName == "")) {
+   if ((m_mediaName == "") && (m_clientName == "") &&  (m_jobName == "")) {
       desc = "JobList";
    } else {
       desc = "JobList ";
@@ -325,6 +333,9 @@ void JobList::treeWidgetName(QString &desc)
       if (m_clientName != "" ) {
          desc += "of Client " + m_clientName;
       }
+      if (m_jobName != "" ) {
+         desc += "of Job " + m_jobName;
+      }
    }
 }
 
index df4b0fcd49c67d0110ef890afed13ff13fed9b09..c6ceb80e2865fcd95eed735b4441559a14aeea5e 100644 (file)
@@ -43,7 +43,8 @@ class JobList : public Pages, public Ui::JobListForm
    Q_OBJECT 
 
 public:
-   JobList(const QString &medianame, const QString &clientname, QTreeWidgetItem *);
+   JobList(const QString &medianame, const QString &clientname, 
+           const QString &jobname, QTreeWidgetItem *);
    virtual void PgSeltreeWidgetClicked();
    virtual void currentStackItem();
    int m_resultCount;
@@ -71,6 +72,7 @@ private:
    void setStatusColor(QTableWidgetItem *item, QString &field);
    QString m_mediaName;
    QString m_clientName;
+   QString m_jobName;
    QString m_currentJob;
    bool m_populated;
    bool m_checkCurrentWidget;
index 8d3314457a116faea187ac46718689aa1455e256..2d20a1be96b30fb0ffce535f20be252842d9c771 100644 (file)
@@ -258,4 +258,6 @@ void Jobs::consoleCancel()
 void Jobs::listJobs()
 {
    printf("In Jobs::listJobs\n");
+   QTreeWidgetItem *parentItem = mainWin->getFromHash(this);
+   mainWin->createPageJobList("", "", m_currentlyselected, parentItem);
 }
index 95a6e157e1a330d34a65ef162b6204cdbfe0a791..990dfddb4a72e36b6074aefb4e7528630ed5c226 100644 (file)
@@ -139,7 +139,7 @@ void MainWin::createPages()
       new Clients();
       new FileSet();
       new Jobs();
-      createPageJobList("", "", NULL);
+      createPageJobList("", "", "", NULL);
       new MediaList();
       new Storage();
 
@@ -153,15 +153,15 @@ void MainWin::createPages()
  * create an instance of the the joblist class on the stack
  */
 void MainWin::createPageJobList(const QString &media, const QString &client,
-              QTreeWidgetItem *parentTreeWidgetItem)
+              const QString &job, QTreeWidgetItem *parentTreeWidgetItem)
 {
    QTreeWidgetItem *holdItem;
 
    /* save current tree widget item in case query produces no results */
    holdItem = treeWidget->currentItem();
-   JobList* joblist = new JobList(media, client, parentTreeWidgetItem);
+   JobList* joblist = new JobList(media, client, job, parentTreeWidgetItem);
    /* If this is a query of jobs on a specific media */
-   if ((media != "") || (client != "")) {
+   if ((media != "") || (client != "") || (job != "")) {
       joblist->setCurrent();
       /* did query produce results, if not close window and set back to hold */
       if (joblist->m_resultCount == 0) {
index a0a5ed7d89d11f8f67066a2eebfe541ff351b0aa..25f619cceb150fd891c7ca1b49742a6302114cdf 100644 (file)
@@ -68,7 +68,8 @@ public:
    QHash<Pages*,QTreeWidgetItem*> m_widgethash;
    /* This is a list of consoles */
    QHash<QTreeWidgetItem*,Console*> m_consoleHash;
-   void createPageJobList(const QString &, const QString &, QTreeWidgetItem *);
+   void createPageJobList(const QString &, const QString &,
+            const QString &, QTreeWidgetItem *);
    QString m_dtformat;
    /* Begin Preferences variables */
    bool m_commDebug;
index ec160387050c55ecca6a790bee86a7dc9dcaf558..0e04993cea688843873c2168e2e982182cd28e86 100644 (file)
@@ -182,7 +182,7 @@ void MediaList::editVolume()
 void MediaList::showJobs()
 {
    QTreeWidgetItem *parentItem = mainWin->getFromHash(this);
-   mainWin->createPageJobList(m_currentVolumeName, "", parentItem);
+   mainWin->createPageJobList(m_currentVolumeName, "", "", parentItem);
 }
 
 /*