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
connect(unmarkButton, SIGNAL(pressed()), this, SLOT(unmarkButtonPushed()));
connect(okButton, SIGNAL(pressed()), this, SLOT(okButtonPushed()));
connect(cancelButton, SIGNAL(pressed()), this, SLOT(cancelButtonPushed()));
+
+ fileWidget->setContextMenuPolicy(Qt::ActionsContextMenu);
+ fileWidget->addAction(actionMark);
+ fileWidget->addAction(actionUnMark);
+ connect(actionMark, SIGNAL(triggered()), this, SLOT(markButtonPushed()));
+ connect(actionUnMark, SIGNAL(triggered()), this, SLOT(unmarkButtonPushed()));
+
setFont(m_console->get_font());
m_console->displayToPrompt();
get_cwd();
+ readSettings();
fillDirectory();
dockPage();
setCurrent();
this->show();
}
+restorePage::~restorePage()
+{
+ writeSettings();
+}
+
/*
* Fill the fileWidget box with the contents of the current directory
*/
QTreeWidgetItem *ti = new QTreeWidgetItem((QTreeWidget *)0, item);
ti->setTextAlignment(5, Qt::AlignRight); /* right align size */
if (strcmp(marked, "*") == 0) {
- ti->setIcon(0,QIcon(QString::fromUtf8(":images/check.png")));
+ ti->setIcon(0, QIcon(QString::fromUtf8(":images/check.png")));
+ ti->setData(0, Qt::UserRole, true);
} else {
- ti->setIcon(0,QIcon(QString::fromUtf8(":images/unchecked.png")));
+ ti->setIcon(0, QIcon(QString::fromUtf8(":images/unchecked.png")));
+ ti->setData(0, Qt::UserRole, false);
}
treeItemList.append(ti);
}
/* add unix '/' directory first */
if (m_dirPaths.empty() && (regex.indexIn(fullpath,0) == -1)) {
QTreeWidgetItem *item = new QTreeWidgetItem(directoryWidget);
+ item->setIcon(0,QIcon(QString::fromUtf8(":images/folder.svg")));
+
QString text("/");
item->setText(0, text.toUtf8().data());
if (mainWin->m_miscDebug) {
if (regex.indexIn(fullpath,0) == 0) {
/* this is a windows drive */
if (mainWin->m_miscDebug) {
- printf("Need to do windows \"letter\":/\n");
+ Pmsg0(000, "Need to do windows \"letter\":/\n");
}
fullpath.replace(0,1,"");
windrive = true;
/* this is the base widget */
item = new QTreeWidgetItem(directoryWidget);
item->setText(0, fullpath.toUtf8().data());
+ item->setIcon(0,QIcon(QString::fromUtf8(":images/folder.svg")));
} else {
QTreeWidgetItem *parent = m_dirPaths.value(m_cwd);
if (parent) {
/* new directories to add */
item = new QTreeWidgetItem(parent);
item->setText(0, newdir.toUtf8().data());
+ item->setIcon(0,QIcon(QString::fromUtf8(":images/folder.svg")));
directoryWidget->expandItem(parent);
} else {
ok = false;
void restorePage::okButtonPushed()
{
+ printf("In restorePage::okButtonPushed\n");
this->hide();
m_console->write("done");
m_console->notify(true);
{
char cmd[1000];
if (column == 0) { /* mark/unmark */
- if (item->text(0) == "*") {
+ if (item->data(0, Qt::UserRole).toBool()) {
bsnprintf(cmd, sizeof(cmd), "unmark \"%s\"", item->text(1).toUtf8().data());
item->setIcon(0, QIcon(QString::fromUtf8(":images/unchecked.png")));
+ item->setData(0, Qt::UserRole, false);
} else {
bsnprintf(cmd, sizeof(cmd), "mark \"%s\"", item->text(1).toUtf8().data());
item->setIcon(0, QIcon(QString::fromUtf8(":images/check.png")));
+ item->setData(0, Qt::UserRole, true);
}
m_console->write_dir(cmd);
if (m_console->read() > 0) {
m_console->discardToPrompt();
return m_cwd.toUtf8().data();
}
+
+/*
+ * Save user settings associated with this page
+ */
+void restorePage::writeSettings()
+{
+ QSettings settings(m_console->m_dir->name(), "bat");
+ settings.beginGroup("RestorePage");
+ settings.setValue("splitterSizes", splitter->saveState());
+ settings.endGroup();
+}
+
+/*
+ * Read and restore user settings associated with this page
+ */
+void restorePage::readSettings()
+{
+ QSettings settings(m_console->m_dir->name(), "bat");
+ settings.beginGroup("RestorePage");
+ splitter->restoreState(settings.value("splitterSizes").toByteArray());
+ settings.endGroup();
+}