#include "bat.h"
#include "restore.h"
-restoreDialog::restoreDialog(Console *console)
+restoreDialog::restoreDialog(Console *console )
{
QStringList titles;
+
m_console = console;
-
- m_console->setEnabled(false);
+ m_console->notify(false); /* this should already be off */
+
setupUi(this);
connect(fileWidget, SIGNAL(itemDoubleClicked(QTreeWidgetItem*, int)),
this, SLOT(fileDoubleClicked(QTreeWidgetItem *, int)));
}
split_path_and_filename(p, &path, &pnl, &file, &fnl);
item.clear();
- item << "" << file << modes << user << group << size << date;
+ item << marked << file << modes << user << group << size << date;
QTreeWidgetItem *ti = new QTreeWidgetItem((QTreeWidget *)0, item);
ti->setTextAlignment(5, Qt::AlignRight); /* right align size */
items.append(ti);
{
this->hide();
m_console->write("done");
+ m_console->notify(true);
delete this;
- m_console->setEnabled(true);
mainWin->resetFocus();
}
m_console->write("quit");
mainWin->set_status("Canceled");
delete this;
- m_console->setEnabled(true);
+ m_console->notify(true);
mainWin->resetFocus();
}
char cmd[1000];
if (column == 0) { /* mark/unmark */
if (item->text(0) == "*") {
- bsnprintf(cmd, sizeof(cmd), "unmark \"%s\"\n", item->text(1).toUtf8().data());
+ bsnprintf(cmd, sizeof(cmd), "unmark \"%s\"", item->text(1).toUtf8().data());
item->setText(0, " ");
} else {
- bsnprintf(cmd, sizeof(cmd), "mark \"%s\"\n", item->text(1).toUtf8().data());
+ bsnprintf(cmd, sizeof(cmd), "mark \"%s\"", item->text(1).toUtf8().data());
item->setText(0, "*");
}
- m_console->write(cmd);
+ m_console->write_dir(cmd);
+ if (m_console->read() > 0) {
+ strip_trailing_junk(m_console->msg());
+ statusLine->setText(m_console->msg());
+ }
m_console->displayToPrompt();
return;
}
QTreeWidgetItem *item;
char cmd[1000];
foreach (item, items) {
- Dmsg1(000, "item=%s\n", item->text(1).toUtf8().data());
- if (item->text(0) == " ") {
- bsnprintf(cmd, sizeof(cmd), "mark \"%s\"", item->text(1).toUtf8().data());
- item->setText(0, "*");
- m_console->write(cmd);
- Dmsg1(000, "cmd=%s\n", cmd);
- m_console->displayToPrompt();
+ bsnprintf(cmd, sizeof(cmd), "mark \"%s\"", item->text(1).toUtf8().data());
+ item->setText(0, "*");
+ m_console->write_dir(cmd);
+ if (m_console->read() > 0) {
+ strip_trailing_junk(m_console->msg());
+ statusLine->setText(m_console->msg());
}
+ Dmsg1(100, "cmd=%s\n", cmd);
+ m_console->discardToPrompt();
}
}
QTreeWidgetItem *item;
char cmd[1000];
foreach (item, items) {
- if (item->text(0) == "*") {
- bsnprintf(cmd, sizeof(cmd), "unmark \"%s\"", item->text(1).toUtf8().data());
- item->setText(0, " ");
- m_console->write(cmd);
- Dmsg1(000, "cmd=%s\n", cmd);
- m_console->displayToPrompt();
+ bsnprintf(cmd, sizeof(cmd), "unmark \"%s\"", item->text(1).toUtf8().data());
+ item->setText(0, " ");
+ m_console->write_dir(cmd);
+ if (m_console->read() > 0) {
+ strip_trailing_junk(m_console->msg());
+ statusLine->setText(m_console->msg());
}
+ Dmsg1(100, "cmd=%s\n", cmd);
+ m_console->discardToPrompt();
}
}
int stat;
char cd_cmd[MAXSTRING];
- bsnprintf(cd_cmd, sizeof(cd_cmd), "cd \"%s\"\n", dir);
+ bsnprintf(cd_cmd, sizeof(cd_cmd), "cd \"%s\"", dir);
Dmsg2(100, "dir=%s cmd=%s\n", dir, cd_cmd);
m_console->write_dir(cd_cmd);
+ lineEdit->clear();
if ((stat = m_console->read()) > 0) {
m_cwd = m_console->msg();
+ lineEdit->insert(m_cwd);
Dmsg2(100, "cwd=%s msg=%s\n", m_cwd.toUtf8().data(), m_console->msg());
} else {
Dmsg1(000, "stat=%d\n", stat);
+ QMessageBox::critical(this, "Error", "cd command failed", QMessageBox::Ok);
}
m_console->discardToPrompt();
- lineEdit->clear();
- lineEdit->insert(m_cwd);
return true; /* ***FIXME*** return real status */
}
Dmsg2(100, "cwd=%s msg=%s\n", m_cwd.toUtf8().data(), m_console->msg());
} else {
Dmsg1(000, "stat=%d\n", stat);
+ QMessageBox::critical(this, "Error", ".pwd command failed", QMessageBox::Ok);
+ Dmsg1(000, "stat=%d\n", stat);
}
- m_console->displayToPrompt();
+ m_console->discardToPrompt();
return m_cwd.toUtf8().data();
}