-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".
+cancel ujobid=<unique-jobid>
delete pool=<pool-name>
should ask if this would have bad effects if say media existed in the pool
the pool existed in the configuration file.
-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
-
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
unmount [ jobid=<id> | job=<job-name> ]
automount on/off
Added buttons to the label dialog box to execute automount command
-cancel jobid=<number>
+cancel jobid=<number> job=<job-name>
delete [volume=<vol-name> job jobid=<id>]
+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 pools
Accomplishable with the clients class graphically
list clients
+ 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>
+
help
context sensitive from page selector console
*/
void Clients::showJobs()
{
- QString emptymedia("");
QTreeWidgetItem *parentItem = mainWin->getFromHash(this);
- mainWin->createPageJobList(emptymedia, m_currentlyselected, parentItem);
+ mainWin->createPageJobList("", m_currentlyselected, parentItem);
}
/*
/*
* Constructor for the class
*/
-JobList::JobList(QString &mediaName, QString &clientname,
+JobList::JobList(const QString &mediaName, const QString &clientname,
QTreeWidgetItem *parentTreeWidgetItem)
{
setupUi(this);
Q_OBJECT
public:
- JobList(QString &medianame, QString &clientname, QTreeWidgetItem *);
+ JobList(const QString &medianame, const QString &clientname, QTreeWidgetItem *);
virtual void PgSeltreeWidgetClicked();
virtual void currentStackItem();
int m_resultCount;
for (int i=0; i<headerlist.count(); i++)
jobsItem->setData(i, Qt::UserRole, 1);
-/*struct job_defaults {
- QString job_name;
- QString pool_name;
- QString messages_name;
- QString client_name;
- QString store_name;
- QString where;
- QString level;
- QString type;
- QString fileset_name;
- QString catalog_name;
- bool enabled;
-};*/
+
job_defaults job_defs;
job_defs.job_name = jobName;
if (m_console->get_job_defaults(job_defs)) {
jobsItem->setText(col++, "No");
}
}
-
}
/* Resize the columns */
for(int cnter=0; cnter<headerlist.size(); cnter++) {
if (previouswidgetitem) { /* avoid a segfault if first time */
int treedepth = previouswidgetitem->data(0, Qt::UserRole).toInt();
if (treedepth == 1){
- //mp_treeWidget->removeAction(actionListJobsofClient);
+ mp_treeWidget->removeAction(actionConsoleListFiles);
+ mp_treeWidget->removeAction(actionConsoleListVolumes);
+ mp_treeWidget->removeAction(actionConsoleListNextVolume);
+ mp_treeWidget->removeAction(actionConsoleEnableJob);
+ mp_treeWidget->removeAction(actionConsoleDisableJob);
+ mp_treeWidget->removeAction(actionConsoleCancel);
+ mp_treeWidget->removeAction(actionJobListQuery);
}
}
/* set a hold variable to the client name in case the context sensitive
* menu is used */
m_currentlyselected=currentwidgetitem->text(0);
- //mp_treeWidget->addAction(actionListJobsofClient);
+ mp_treeWidget->addAction(actionConsoleListFiles);
+ mp_treeWidget->addAction(actionConsoleListVolumes);
+ mp_treeWidget->addAction(actionConsoleListNextVolume);
+ mp_treeWidget->addAction(actionConsoleEnableJob);
+ mp_treeWidget->addAction(actionConsoleDisableJob);
+ mp_treeWidget->addAction(actionConsoleCancel);
+ mp_treeWidget->addAction(actionJobListQuery);
}
}
}
/* connect to the action specific to this pages class */
connect(actionRefreshJobs, SIGNAL(triggered()), this,
SLOT(populateTree()));
+ connect(actionConsoleListFiles, SIGNAL(triggered()), this, SLOT(consoleListFiles()));
+ connect(actionConsoleListVolumes, SIGNAL(triggered()), this, SLOT(consoleListVolume()));
+ connect(actionConsoleListNextVolume, SIGNAL(triggered()), this, SLOT(consoleListNextVolume()));
+ connect(actionConsoleEnableJob, SIGNAL(triggered()), this, SLOT(consoleEnable()));
+ connect(actionConsoleDisableJob, SIGNAL(triggered()), this, SLOT(consoleDisable()));
+ connect(actionConsoleCancel, SIGNAL(triggered()), this, SLOT(consoleCancel()));
+ connect(actionJobListQuery, SIGNAL(triggered()), this, SLOT(listJobs()));
}
/*
*/
void Jobs::currentStackItem()
{
+ populateTree();
if(!m_populated) {
- populateTree();
/* Create the context menu for the client tree */
m_populated=true;
}
}
+
+/*
+ * The following functions are slots responding to users clicking on the context
+ * sensitive menu
+ */
+
+void Jobs::consoleListFiles()
+{
+ QString cmd("list files job=");
+ cmd += m_currentlyselected;
+ consoleCommand(cmd);
+}
+
+void Jobs::consoleListVolume()
+{
+ QString cmd("list volumes job=");
+ cmd += m_currentlyselected;
+ consoleCommand(cmd);
+}
+
+void Jobs::consoleListNextVolume()
+{
+ QString cmd("list nextvolume job=");
+ cmd += m_currentlyselected;
+ consoleCommand(cmd);
+}
+
+void Jobs::consoleEnable()
+{
+ QString cmd("enable job=");
+ cmd += m_currentlyselected;
+ consoleCommand(cmd);
+}
+
+void Jobs::consoleDisable()
+{
+ QString cmd("disable job=");
+ cmd += m_currentlyselected;
+ consoleCommand(cmd);
+}
+
+void Jobs::consoleCancel()
+{
+ QString cmd("cancel job=");
+ cmd += m_currentlyselected;
+ consoleCommand(cmd);
+}
+
+void Jobs::listJobs()
+{
+ printf("In Jobs::listJobs\n");
+}
private slots:
void populateTree();
+ void consoleListFiles();
+ void consoleListVolume();
+ void consoleListNextVolume();
+ void consoleEnable();
+ void consoleDisable();
+ void consoleCancel();
+ void listJobs();
private:
void createContextMenu();
<string>Requery the director for the list of clients.</string>
</property>
</action>
+ <action name="actionConsoleListFiles" >
+ <property name="icon" >
+ <iconset resource="../main.qrc" >:/images/utilities-terminal.svg</iconset>
+ </property>
+ <property name="text" >
+ <string>List Files Command</string>
+ </property>
+ <property name="iconText" >
+ <string>List Files Command</string>
+ </property>
+ <property name="toolTip" >
+ <string>List Files Command</string>
+ </property>
+ <property name="statusTip" >
+ <string>List Files Command</string>
+ </property>
+ </action>
+ <action name="actionConsoleListVolumes" >
+ <property name="icon" >
+ <iconset resource="../main.qrc" >:/images/utilities-terminal.svg</iconset>
+ </property>
+ <property name="text" >
+ <string>List Volumes Command</string>
+ </property>
+ <property name="iconText" >
+ <string>List Volumes Command</string>
+ </property>
+ <property name="toolTip" >
+ <string>List Volumes Command</string>
+ </property>
+ <property name="statusTip" >
+ <string>List Volumes Command</string>
+ </property>
+ </action>
+ <action name="actionConsoleListNextVolume" >
+ <property name="icon" >
+ <iconset resource="../main.qrc" >:/images/utilities-terminal.svg</iconset>
+ </property>
+ <property name="text" >
+ <string>List Next Volume Command</string>
+ </property>
+ <property name="iconText" >
+ <string>List Next Volume Command</string>
+ </property>
+ <property name="toolTip" >
+ <string>List Next Volume Command</string>
+ </property>
+ <property name="statusTip" >
+ <string>List Next Volume Command</string>
+ </property>
+ </action>
+ <action name="actionConsoleEnableJob" >
+ <property name="icon" >
+ <iconset resource="../main.qrc" >:/images/utilities-terminal.svg</iconset>
+ </property>
+ <property name="text" >
+ <string>Enable Job Command</string>
+ </property>
+ <property name="iconText" >
+ <string>Enable Job Command</string>
+ </property>
+ <property name="toolTip" >
+ <string>Enable Job Command</string>
+ </property>
+ <property name="statusTip" >
+ <string>Enable Job Command</string>
+ </property>
+ </action>
+ <action name="actionConsoleDisableJob" >
+ <property name="icon" >
+ <iconset resource="../main.qrc" >:/images/utilities-terminal.svg</iconset>
+ </property>
+ <property name="text" >
+ <string>Disable Job Command</string>
+ </property>
+ <property name="iconText" >
+ <string>Disable Job Command</string>
+ </property>
+ <property name="toolTip" >
+ <string>Disable Job Command</string>
+ </property>
+ <property name="statusTip" >
+ <string>Disable Job Command</string>
+ </property>
+ </action>
+ <action name="actionJobListQuery" >
+ <property name="icon" >
+ <iconset resource="../main.qrc" >:/images/emblem-system.svg</iconset>
+ </property>
+ <property name="text" >
+ <string>Open JobList on Job</string>
+ </property>
+ <property name="iconText" >
+ <string>Open JobList on Job</string>
+ </property>
+ <property name="toolTip" >
+ <string>Open JobList on Job</string>
+ </property>
+ <property name="statusTip" >
+ <string>Open JobList on Job</string>
+ </property>
+ </action>
+ <action name="actionConsoleCancel" >
+ <property name="icon" >
+ <iconset resource="../main.qrc" >:/images/utilities-terminal.svg</iconset>
+ </property>
+ <property name="text" >
+ <string>Cancel Job Command</string>
+ </property>
+ <property name="statusTip" >
+ <string>Cancel Job Command</string>
+ </property>
+ </action>
</widget>
<resources>
<include location="../main.qrc" />
m_currentConsole->readSettings();
/* The top tree item representing the director */
- topItem = createTopPage(dir->name());
+ topItem = new QTreeWidgetItem(treeWidget);
+ topItem->setText(0, dir->name());
topItem->setIcon(0, QIcon(":images/server.png"));
/* Set background to grey for ease of identification of inactive Director */
QBrush greyBrush(Qt::lightGray);
m_consoleHash.insert(topItem, m_currentConsole);
/* Create Tree Widget Item */
- item = createPage("Console", topItem);
+ item = new QTreeWidgetItem(topItem);
+ item->setText(0, "Console");
if (!m_firstItem){ m_firstItem = item; }
item->setIcon(0,QIcon(QString::fromUtf8(":images/utilities-terminal.svg")));
new Clients();
new FileSet();
new Jobs();
- QString emptymedia(""), emptyclient("");
- createPageJobList(emptymedia, emptyclient, NULL);
+ createPageJobList("", "", NULL);
new MediaList();
new Storage();
/*
* create an instance of the the joblist class on the stack
*/
-void MainWin::createPageJobList(QString &media, QString &client,
+void MainWin::createPageJobList(const QString &media, const QString &client,
QTreeWidgetItem *parentTreeWidgetItem)
{
QTreeWidgetItem *holdItem;
}
}
-/* Create a root Tree Widget */
-QTreeWidgetItem *MainWin::createTopPage(char *name)
-{
- QTreeWidgetItem *item = new QTreeWidgetItem(treeWidget);
- item->setText(0, name);
- return item;
-}
-
-/* Create A Tree Widget Item which will be associated with a Page in the stacked widget */
-QTreeWidgetItem *MainWin::createPage(char *name, QTreeWidgetItem *parent)
-{
- QTreeWidgetItem *item = new QTreeWidgetItem(parent);
- item->setText(0, name);
- return item;
-}
-
/*
* Handle up and down arrow keys for the command line
* history.
QHash<Pages*,QTreeWidgetItem*> m_widgethash;
/* This is a list of consoles */
QHash<QTreeWidgetItem*,Console*> m_consoleHash;
- void createPageJobList(QString &, QString &, QTreeWidgetItem *);
+ void createPageJobList(const QString &, const QString &, QTreeWidgetItem *);
QString m_dtformat;
/* Begin Preferences variables */
bool m_commDebug;
private:
void createConnections();
void createPages();
- QTreeWidgetItem *createTopPage(char *name);
- QTreeWidgetItem *createPage(char *name, QTreeWidgetItem *parent);
private:
Console *m_currentConsole;
*/
void MediaList::showJobs()
{
- QString emptyclient("");
QTreeWidgetItem *parentItem = mainWin->getFromHash(this);
- mainWin->createPageJobList(m_currentVolumeName, emptyclient, parentItem);
+ mainWin->createPageJobList(m_currentVolumeName, "", parentItem);
}
/*