save location of external script file

This commit is contained in:
Martchus 2016-01-09 03:38:58 +01:00
parent c8e4848d92
commit d4317b46a1
6 changed files with 59 additions and 11 deletions

View File

@ -213,6 +213,21 @@ QString &mainWindowCurrentFileBrowserDirectory()
return v;
}
// renaming files dialog
int &scriptSource()
{
static int v = 0;
return v;
}
QString &externalScript()
{
static QString v;
return v;
}
void restore()
{
QSettings settings(QSettings::IniFormat, QSettings::UserScope, QApplication::organizationName(), QApplication::applicationName());
@ -343,6 +358,11 @@ void restore()
Settings::mainWindowState() = settings.value(QStringLiteral("windowstate")).toByteArray();
Settings::mainWindowCurrentFileBrowserDirectory() = settings.value(QStringLiteral("currentfilebrowserdirectory")).toString();
settings.endGroup();
settings.beginGroup(QStringLiteral("renamedlg"));
Settings::scriptSource() = settings.value(QStringLiteral("src")).toInt();
Settings::externalScript() = settings.value(QStringLiteral("file")).toString();
settings.endGroup();
}
void save()
@ -407,6 +427,11 @@ void save()
settings.setValue(QStringLiteral("windowstate"), mainWindowState());
settings.setValue(QStringLiteral("currentfilebrowserdirectory"), mainWindowCurrentFileBrowserDirectory());
settings.endGroup();
settings.beginGroup(QStringLiteral("renamedlg"));
settings.setValue(QStringLiteral("src"), Settings::scriptSource());
settings.setValue(QStringLiteral("file"), Settings::externalScript());
settings.endGroup();
}
}

View File

@ -91,6 +91,10 @@ QByteArray &mainWindowGeometry();
QByteArray &mainWindowState();
QString &mainWindowCurrentFileBrowserDirectory();
// rename files dialog
int &scriptSource();
QString &externalScript();
void restore();
void save();

View File

@ -68,8 +68,8 @@ public slots:
void closeFile();
protected:
virtual bool event(QEvent *event);
virtual bool eventFilter(QObject *obj, QEvent *event);
bool event(QEvent *event);
bool eventFilter(QObject *obj, QEvent *event);
private slots:
// file selection

View File

@ -6,6 +6,8 @@
#include "../renamingutility/filesystemitemmodel.h"
#include "../renamingutility/filteredfilesystemitemmodel.h"
#include "../application/settings.h"
#include "ui_renamefilesdialog.h"
#include <qtutilities/misc/dialogutils.h>
@ -67,6 +69,12 @@ RenameFilesDialog::RenameFilesDialog(QWidget *parent) :
m_ui->applyChangingsPushButton->setEnabled(false);
m_ui->abortClosePushButton->setIcon(style()->standardIcon(QStyle::SP_DialogCancelButton, nullptr, m_ui->applyChangingsPushButton));
// restore settings
if(Settings::scriptSource() < m_ui->sourceFileStackedWidget->count()) {
m_ui->sourceFileStackedWidget->setCurrentIndex(Settings::scriptSource());
}
m_ui->scriptFilePathLineEdit->setText(Settings::externalScript());
// connect signals and slots
connect(m_ui->selectDirectoryPushButton, &QPushButton::clicked, this, &RenameFilesDialog::showDirectorySelectionDlg);
connect(m_ui->generatePreviewPushButton, &QPushButton::clicked, this, &RenameFilesDialog::startGeneratingPreview);
@ -96,6 +104,20 @@ void RenameFilesDialog::setDirectory(const QString &directory)
m_ui->directoryLineEdit->setText(directory);
}
bool RenameFilesDialog::event(QEvent *event)
{
switch(event->type()) {
case QEvent::Close:
// save settings
Settings::scriptSource() = m_ui->sourceFileStackedWidget->currentIndex();
Settings::externalScript() = m_ui->scriptFilePathLineEdit->text();
break;
default:
;
}
return QDialog::event(event);
}
void RenameFilesDialog::showDirectorySelectionDlg()
{
QString dir = QFileDialog::getExistingDirectory(this, QApplication::applicationName(), m_ui->directoryLineEdit->text());

View File

@ -32,6 +32,9 @@ public:
QString directory() const;
void setDirectory(const QString &directory);
protected:
bool event(QEvent *event);
private slots:
void showDirectorySelectionDlg();
void showScriptFileSelectionDlg();

View File

@ -51,8 +51,7 @@
</property>
<property name="icon">
<iconset theme="folder-open">
<normaloff/>
</iconset>
<normaloff>.</normaloff>.</iconset>
</property>
</widget>
</item>
@ -110,8 +109,7 @@
</property>
<property name="icon">
<iconset theme="edit-paste">
<normaloff/>
</iconset>
<normaloff>.</normaloff>.</iconset>
</property>
</widget>
</item>
@ -122,8 +120,7 @@
</property>
<property name="icon">
<iconset theme="document-open">
<normaloff/>
</iconset>
<normaloff>.</normaloff>.</iconset>
</property>
</widget>
</item>
@ -134,9 +131,6 @@
<property name="autoFillBackground">
<bool>true</bool>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="scriptEditorPage">
<layout class="QVBoxLayout" name="verticalLayout_6">
<property name="spacing">