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

View File

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

View File

@ -6,6 +6,8 @@
#include "../renamingutility/filesystemitemmodel.h" #include "../renamingutility/filesystemitemmodel.h"
#include "../renamingutility/filteredfilesystemitemmodel.h" #include "../renamingutility/filteredfilesystemitemmodel.h"
#include "../application/settings.h"
#include "ui_renamefilesdialog.h" #include "ui_renamefilesdialog.h"
#include <qtutilities/misc/dialogutils.h> #include <qtutilities/misc/dialogutils.h>
@ -67,6 +69,12 @@ RenameFilesDialog::RenameFilesDialog(QWidget *parent) :
m_ui->applyChangingsPushButton->setEnabled(false); m_ui->applyChangingsPushButton->setEnabled(false);
m_ui->abortClosePushButton->setIcon(style()->standardIcon(QStyle::SP_DialogCancelButton, nullptr, m_ui->applyChangingsPushButton)); 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 signals and slots
connect(m_ui->selectDirectoryPushButton, &QPushButton::clicked, this, &RenameFilesDialog::showDirectorySelectionDlg); connect(m_ui->selectDirectoryPushButton, &QPushButton::clicked, this, &RenameFilesDialog::showDirectorySelectionDlg);
connect(m_ui->generatePreviewPushButton, &QPushButton::clicked, this, &RenameFilesDialog::startGeneratingPreview); connect(m_ui->generatePreviewPushButton, &QPushButton::clicked, this, &RenameFilesDialog::startGeneratingPreview);
@ -96,6 +104,20 @@ void RenameFilesDialog::setDirectory(const QString &directory)
m_ui->directoryLineEdit->setText(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() void RenameFilesDialog::showDirectorySelectionDlg()
{ {
QString dir = QFileDialog::getExistingDirectory(this, QApplication::applicationName(), m_ui->directoryLineEdit->text()); QString dir = QFileDialog::getExistingDirectory(this, QApplication::applicationName(), m_ui->directoryLineEdit->text());

View File

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

View File

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