-cancel [jobid=<number> job=<job-name> ujobid=<unique-jobid>]
+cancel [job=<job-name> ujobid=<unique-jobid>]
 To be done in the context of a status dir graphical window.
 Also in a "job resources window for job-name".
 
 disable job<job-name>     and     enable job<job-name>
 Could be done in the context of a jobs resource window which is not yet created
 
-estimate
-Could be a dialog in the context of a jobs window.
-
 list
-many are done or are reproduced by having windows
-
-llist
-same as list
+   list ujobid<unique job name> (list job with unique name)
+   list files job=<job-name>
+  do this as a context option on page selector on joblist
+   list volumes job=<job-name>
+   list nextvolume job=<job-name>
+   list nextvol job=<job-name>
+   list nextvol job=<job-name> days=nnn
 
 prune files|jobs|volume client=<client-name> volume=<volume-name>
-Should add as a dialog box from both client and medialist
+could add as a dialog box from both client and medialist
 
 release storage=<storage-name>
 Would need to explain what this does in bat with a dialog
 
-reload
-could be done in console or on director's page selector widget
-
 run
 done
 
 automount on/off
 Added buttons to the label dialog box to execute automount command
 
+cancel jobid=<number>
+
 delete [volume=<vol-name> job jobid=<id>]
 
+estimate
+Could be a dialog in the context of a jobs window.
+
+list
+   list jobid=<id>           (list jobid id)
+   list files jobid=<id>
+   list jobmedia jobid=<id>
+   list volumes jobid=<id>
+   list jobtotals (from page selector on joblist widget)
+   The next few are accomplishable graphically with joblist class
+     list jobs
+     list job=<job-name>   (list all jobs with "job-name")
+     list jobname=<job-name>  (same as above)
+     list jobmedia
+     list jobmedia job=<job-name>
+   The next few are accomplishable graphically with the medialist class
+     list volumes
+     list volumes pool=<pool-name>
+     list volume=<volume-name>  
+     list pools
+   Accomplishable with the clients class graphically
+     list clients
 help
-could be in the console window
+  context sensitive from page selector console
 
 label
 Done by kern before I started
 
 relabel
 done
+
+reload
+could be done in console or on director's page selector widget
 
 update slots scan
 see COMMANDS file
 
+Create edit pool interface.
+
 ========LOW priority items:
 Use settings object to size the restore window.  Similar to the saving of the
 state of the main window.
 
    m_contextActions.append(actionStatusDir);
    m_contextActions.append(actionConsoleHelp);
    m_contextActions.append(actionRequestMessages);
+   m_contextActions.append(actionConsoleReload);
    connect(actionStatusDir, SIGNAL(triggered()), this, SLOT(status_dir()));
    connect(actionConsoleHelp, SIGNAL(triggered()), this, SLOT(consoleHelp()));
+   connect(actionConsoleReload, SIGNAL(triggered()), this, SLOT(consoleReload()));
    connect(actionRequestMessages, SIGNAL(triggered()), this, SLOT(messages()));
 }
 
    QString cmd("help");
    consoleCommand(cmd);
 }
+
+/* Slot for responding to page selectors reload bacula-dir.conf */
+void Console::consoleReload()
+{
+   QString cmd("reload");
+   consoleCommand(cmd);
+}
 
    void set_font(void);
    void poll_messages(void);
    void consoleHelp();
+   void consoleReload();
 
 public:
    DIRRES *m_dir;                  /* so various pages can reference it */
 
   </action>
   <action name="actionConsoleHelp" >
    <property name="text" >
-    <string>ConsoleHelp</string>
+    <string>Console Help</string>
    </property>
   </action>
   <action name="actionRequestMessages" >
     <string>Request Messages</string>
    </property>
   </action>
+  <action name="actionConsoleReload" >
+   <property name="text" >
+    <string>Reload bacula-dir.conf</string>
+   </property>
+  </action>
  </widget>
  <resources/>
  <connections/>
 
 {
    populateTable();
    if (!m_populated) {
-      m_contextActions.append(actionRefreshJobList);
       m_populated=true;
    }
 }
 
    /* Add Actions */
    mp_tableWidget->addAction(actionRefreshJobList);
-   mp_tableWidget->addAction(actionLongListJob);
    mp_tableWidget->addAction(actionListJobid);
    mp_tableWidget->addAction(actionListFilesOnJob);
    mp_tableWidget->addAction(actionListJobMedia);
    mp_tableWidget->addAction(actionShowLogForJob);
 
    /* Make Connections */
-   connect(actionLongListJob, SIGNAL(triggered()), this,
-                SLOT(consoleLongListJob()));
    connect(actionListJobid, SIGNAL(triggered()), this,
                 SLOT(consoleListJobid()));
    connect(actionListFilesOnJob, SIGNAL(triggered()), this,
                 SLOT(showLogForJob()));
    connect(actionCancelJob, SIGNAL(triggered()), this,
                 SLOT(consoleCancelJob()));
+   connect(actionListJobTotals, SIGNAL(triggered()), this,
+                SLOT(consoleListJobTotals()));
+
+   m_contextActions.append(actionRefreshJobList);
+   m_contextActions.append(actionListJobTotals);
 }
 
 /*
  * Functions to respond to local context sensitive menu sending console commands
  * If I could figure out how to make these one function passing a string, Yaaaaaa
  */
-void JobList::consoleLongListJob()
-{
-   QString cmd("llist jobid=");
-   cmd += m_currentJob;
-   consoleCommand(cmd);
-}
 void JobList::consoleListJobid()
 {
    QString cmd("list jobid=");
    cmd += m_currentJob;
+   if (mainWin->m_longList) { cmd.prepend("l"); }
    consoleCommand(cmd);
 }
 void JobList::consoleListFilesOnJob()
 {
    QString cmd("list files jobid=");
    cmd += m_currentJob;
+   if (mainWin->m_longList) { cmd.prepend("l"); }
    consoleCommand(cmd);
 }
 void JobList::consoleListJobMedia()
 {
    QString cmd("list jobmedia jobid=");
    cmd += m_currentJob;
+   if (mainWin->m_longList) { cmd.prepend("l"); }
    consoleCommand(cmd);
 }
 void JobList::consoleListVolumes()
 {
    QString cmd("list volumes jobid=");
    cmd += m_currentJob;
+   if (mainWin->m_longList) { cmd.prepend("l"); }
+   consoleCommand(cmd);
+}
+void JobList::consoleListJobTotals()
+{
+   QString cmd("list jobtotals");
+   cmd += m_currentJob;
+   if (mainWin->m_longList) { cmd.prepend("l"); }
    consoleCommand(cmd);
 }
 void JobList::consoleDeleteJob()
 
    void tableItemChanged(QTableWidgetItem *, QTableWidgetItem *);
 
 private slots:
-   void consoleLongListJob();
    void consoleListJobid();
    void consoleListFilesOnJob();
    void consoleListJobMedia();
    void consoleListVolumes();
+   void consoleListJobTotals();
    void consoleDeleteJob();
    void consolePurgeFiles();
    void preRestoreFromJob();
 
     <string>ListVolumes</string>
    </property>
   </action>
-  <action name="actionLongListJob" >
-   <property name="icon" >
-    <iconset>:images/unmark.png</iconset>
-   </property>
-   <property name="text" >
-    <string>LongListJob</string>
-   </property>
-  </action>
   <action name="actionDeleteJob" >
    <property name="icon" >
     <iconset>:images/unmark.png</iconset>
     <string>Cancel Currently Running Job</string>
    </property>
   </action>
+  <action name="actionListJobTotals" >
+   <property name="icon" >
+    <iconset>:images/unmark.png</iconset>
+   </property>
+   <property name="text" >
+    <string>List Job Totals in Console</string>
+   </property>
+  </action>
  </widget>
  <resources/>
  <connections/>
 
    QString cmdStr = lineEdit->text();    /* Get the text */
    lineEdit->clear();                    /* clear the lineEdit box */
    if (m_currentConsole->is_connected()) {
-      m_currentConsole->display_text(cmdStr + "\n");
-      m_currentConsole->write_dir(cmdStr.toUtf8().data());         /* send to dir */
+      m_currentConsole->consoleCommand(cmdStr);
    } else {
       set_status("Director not connected. Click on connect button.");
    }
    prefs.daysSpinBox->setValue(m_daysLimitVal);
    prefs.checkMessages->setCheckState(m_checkMessages ? Qt::Checked : Qt::Unchecked);
    prefs.checkMessagesSpin->setValue(m_checkMessagesInterval);
+   prefs.executeLongCheckBox->setCheckState(m_longList ? Qt::Checked : Qt::Unchecked);
+
    prefs.exec();
 }
 
    mainWin->m_daysLimitVal = this->daysSpinBox->value();
    mainWin->m_checkMessages = this->checkMessages->checkState() == Qt::Checked;
    mainWin->m_checkMessagesInterval = this->checkMessagesSpin->value();
+   mainWin->m_longList = this->executeLongCheckBox->checkState() == Qt::Checked;
    QSettings settings("www.bacula.org", "bat");
    settings.beginGroup("Debug");
    settings.setValue("commDebug", mainWin->m_commDebug);
    settings.setValue("checkMessages", mainWin->m_checkMessages);
    settings.setValue("checkMessagesInterval", mainWin->m_checkMessagesInterval);
    settings.endGroup();
+   settings.beginGroup("Misc");
+   settings.setValue("longList", mainWin->m_longList);
+   settings.endGroup();
    foreach(Console *console, mainWin->m_consoleHash) {
       console->startTimer();
    }
    m_checkMessages = settings.value("checkMessages", false).toBool();
    m_checkMessagesInterval = settings.value("checkMessagesInterval", 28).toInt();
    settings.endGroup();
+   settings.beginGroup("Misc");
+   m_longList = settings.value("longList", false).toBool();
+   settings.endGroup();
 }
 
    int m_daysLimitVal;
    bool m_checkMessages;
    int m_checkMessagesInterval;
+   bool m_longList;
 
 public slots:
    void input_line();
 
    void setCurrent();
    void setContextMenuDockText();
    void setTreeWidgetItemDockColor();
+   void consoleCommand(QString &);
 
 public slots:
    /* closeEvent is a virtual function inherited from QWidget */
 protected:
    void pgInitialize();
    void pgInitialize(QTreeWidgetItem *);
-   void consoleCommand(QString &);
    virtual void treeWidgetName(QString &);
    virtual void changeEvent(QEvent *event);
    void setConsoleCurrent();
 
          </widget>
         </item>
         <item row="1" column="0" >
-         <widget class="QSpinBox" name="checkMessagesSpin" />
+         <widget class="QSpinBox" name="checkMessagesSpin" >
+          <property name="maximum" >
+           <number>3600</number>
+          </property>
+         </widget>
         </item>
        </layout>
       </widget>
        </layout>
       </widget>
      </widget>
+     <widget class="QWidget" name="tab_4" >
+      <attribute name="title" >
+       <string>Misc</string>
+      </attribute>
+      <widget class="QGroupBox" name="groupBox_4" >
+       <property name="geometry" >
+        <rect>
+         <x>30</x>
+         <y>50</y>
+         <width>201</width>
+         <height>81</height>
+        </rect>
+       </property>
+       <property name="title" >
+        <string>Context Sensitive List Commands</string>
+       </property>
+       <widget class="QCheckBox" name="executeLongCheckBox" >
+        <property name="geometry" >
+         <rect>
+          <x>10</x>
+          <y>20</y>
+          <width>161</width>
+          <height>19</height>
+         </rect>
+        </property>
+        <property name="text" >
+         <string>Execute Long List</string>
+        </property>
+       </widget>
+      </widget>
+     </widget>
      <widget class="QWidget" name="tab_3" >
       <attribute name="title" >
        <string>Debug</string>