/*
Bacula® - The Network Backup Solution
- Copyright (C) 2007-2007 Free Software Foundation Europe e.V.
+ Copyright (C) 2007-2009 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
This program is Free Software; you can redistribute it and/or
modify it under the terms of version two of the GNU General Public
- License as published by the Free Software Foundation plus additions
- that are listed in the file LICENSE.
+ License as published by the Free Software Foundation and included
+ in the file LICENSE.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- Bacula® is a registered trademark of John Walker.
+ Bacula® is a registered trademark of Kern Sibbald.
The licensor of Bacula is the Free Software Foundation Europe
(FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
Switzerland, email:ftf@fsfeurope.org.
*
* Kern Sibbald, March MMVII
*
- * $Id: $
+ * $Id$
*/
#include "bat.h"
#include "select.h"
/*
- * Setup all the combo boxes and display the dialog
+ * Read the items for the selection
*/
-selectDialog::selectDialog(Console *console)
+selectDialog::selectDialog(Console *console, int conn)
{
+ m_conn = conn;
QDateTime dt;
int stat;
QListWidgetItem *item;
m_console = console;
setupUi(this);
connect(listBox, SIGNAL(currentRowChanged(int)), this, SLOT(index_change(int)));
- m_console->read(); /* get title */
- labelWidget->setText(m_console->msg());
- while ((stat=m_console->read()) > 0) {
+ setAttribute(Qt::WA_DeleteOnClose);
+ m_console->read(m_conn); /* get title */
+ labelWidget->setText(m_console->msg(m_conn));
+ while ((stat=m_console->read(m_conn)) > 0) {
item = new QListWidgetItem;
- item->setText(m_console->msg());
+ item->setText(m_console->msg(m_conn));
listBox->insertItem(row++, item);
}
-// Dmsg1(000, "Stat=%d\n", stat);
- m_console->read(); /* get prompt signal */
- m_console->read(); /* get prompt */
-// Dmsg1(000, "Prompt=%s", m_console->msg());
+ m_console->displayToPrompt(m_conn);
this->show();
}
char cmd[100];
this->hide();
-
bsnprintf(cmd, sizeof(cmd), "%d", m_index+1);
- m_console->write_dir(cmd);
- m_console->displayToPrompt();
- delete this;
+ m_console->write_dir(m_conn, cmd);
+ m_console->displayToPrompt(m_conn);
+ this->close();
mainWin->resetFocus();
+ m_console->displayToPrompt(m_conn);
+ m_console->notify(m_conn, true);
}
void selectDialog::reject()
{
- mainWin->set_status(" Canceled");
this->hide();
- delete this;
+ mainWin->set_status(tr(" Canceled"));
+ this->close();
mainWin->resetFocus();
+ m_console->beginNewCommand(m_conn);
+ m_console->notify(m_conn, true);
}
/*
*/
void selectDialog::index_change(int index)
{
-// Dmsg1(000, "Index=%d\n", index);
m_index = index;
}
+
+/*
+ * Handle yesno PopUp when Bacula asks a yes/no question.
+ */
+/*
+ * Read the items for the selection
+ */
+yesnoPopUp::yesnoPopUp(Console *console, int conn)
+{
+ QMessageBox msgBox;
+
+ setAttribute(Qt::WA_DeleteOnClose);
+ console->read(conn); /* get yesno question */
+ msgBox.setWindowTitle(tr("Bat Question"));
+ msgBox.setText(console->msg(conn));
+ msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
+ console->displayToPrompt(conn);
+ switch (msgBox.exec()) {
+ case QMessageBox::Yes:
+ console->write_dir("yes");
+ break;
+ case QMessageBox::No:
+ console->write_dir("no");
+ break;
+ }
+ console->displayToPrompt(conn);
+ mainWin->resetFocus();
+}