]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix bat command line input bug
authorKern Sibbald <kern@sibbald.com>
Sat, 18 Jul 2009 21:03:34 +0000 (21:03 +0000)
committerKern Sibbald <kern@sibbald.com>
Sat, 18 Jul 2009 21:03:34 +0000 (21:03 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@9054 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/qt-console/console/console.cpp
bacula/src/qt-console/console/console.h
bacula/src/qt-console/mainwin.cpp
bacula/technotes

index 8b2bf80b5e3bec1257243d56f843e1711ec4b309..dacbd97e458a23d610beec609a782b6f31196554 100644 (file)
@@ -811,6 +811,24 @@ bool Console::availableDirComm(int &conn)
       return false;
 }
 
+
+/*
+ * Need current connection.
+ */
+bool Console::currentDirComm(int &conn)
+{
+   QHash<int, DirComm*>::const_iterator iter = m_dircommHash.constBegin();
+   while (iter != m_dircommHash.constEnd()) {
+      DirComm *dircomm = iter.value();
+      if (dircomm->m_at_prompt && !dircomm->m_at_main_prompt && dircomm->is_notify_enabled()) {
+         conn = dircomm->m_conn;
+         return true;
+      }
+      ++iter;
+   }
+   return false;
+}
+
 /*
  *  Create a new connection
  */
index f798748f9aac00ac7e78f52b851f52911935b9cb..3b2896eff76bb87d940f237d7282b824778dc897 100644 (file)
@@ -81,6 +81,7 @@ public:
    bool notify(int conn, bool enable); // enables/disables socket notification - returns the previous state
    bool is_notify_enabled(int conn) const;
    bool availableDirComm(int &conn);
+   bool currentDirComm(int &conn);
    void displayToPrompt(int conn);
 
    bool dir_cmd(int conn, const char *cmd, QStringList &results);
index ababdd3454e2bb30aa6033b48cb41f681af2654f..cddfb23001d838edb549110cfeafb96a96e2a224 100644 (file)
@@ -321,8 +321,7 @@ void MainWin::waitEnter()
 void MainWin::waitExit()
 {
    m_waitState = false;
-   if (mainWin->m_connDebug)
-      Pmsg0(000, "Exiting Wait State\n");
+   if (mainWin->m_connDebug) Pmsg0(000, "Exiting Wait State\n");
    app->restoreOverrideCursor();
    if (m_waitTreeItem != treeWidget->currentItem())
       treeWidget->setCurrentItem(m_waitTreeItem);
@@ -591,11 +590,16 @@ void MainWin::jobPlotButtonClicked()
  */
 void MainWin::input_line()
 {
+   int conn;
    QString cmdStr = lineEdit->text();    /* Get the text */
    lineEdit->clear();                    /* clear the lineEdit box */
    if (m_currentConsole->is_connected()) {
-      /* Use consoleCommand to allow typing anything */
-      m_currentConsole->consoleCommand(cmdStr);
+      if (m_currentConsole->currentDirComm(conn)) {
+         m_currentConsole->consoleCommand(cmdStr, conn);
+      } else {
+         /* Use consoleCommand to allow typing anything */
+         m_currentConsole->consoleCommand(cmdStr);
+      }
    } else {
       set_status(tr("Director not connected. Click on connect button."));
    }
index fbb0cf57c550330e65079857f892d0c749a7da3a..968b93efb6f4ae86943c296b89be85c81125d820 100644 (file)
@@ -2,6 +2,8 @@
           
 General:
 
+18Jul09
+kes  Fix bat command line input bug
 17Jul09
 ebl  Fix sql query for sqlite on suse10 on copy job
 16Jul09