diff --git a/src/transcoder/transcodedialog.cpp b/src/transcoder/transcodedialog.cpp index 30a8737c1..ca862e229 100644 --- a/src/transcoder/transcodedialog.cpp +++ b/src/transcoder/transcodedialog.cpp @@ -101,10 +101,15 @@ TranscodeDialog::TranscodeDialog(QWidget *parent) // Load settings QSettings s; s.beginGroup(kSettingsGroup); + if (s.contains("geometry")) { + restoreGeometry(s.value("geometry").toByteArray()); + } last_add_dir_ = s.value("last_add_dir", QDir::homePath()).toString(); last_import_dir_ = s.value("last_import_dir", QDir::homePath()).toString(); QString last_output_format = s.value("last_output_format", "audio/x-vorbis").toString(); + s.endGroup(); + for (int i = 0; i < ui_->format->count(); ++i) { if (last_output_format == ui_->format->itemData(i).value().codec_mimetype_) { ui_->format->setCurrentIndex(i); @@ -192,6 +197,7 @@ void TranscodeDialog::Start() { QSettings s; s.beginGroup(kSettingsGroup); s.setValue("last_output_format", preset.codec_mimetype_); + s.endGroup(); } @@ -263,6 +269,7 @@ void TranscodeDialog::Add() { QSettings s; s.beginGroup(kSettingsGroup); s.setValue("last_add_dir", last_add_dir_); + s.endGroup(); } @@ -283,9 +290,10 @@ void TranscodeDialog::Import() { SetFilenames(filenames); last_import_dir_ = path; - QSettings settings; - settings.beginGroup(kSettingsGroup); - settings.setValue("last_import_dir", last_import_dir_); + QSettings s; + s.beginGroup(kSettingsGroup); + s.setValue("last_import_dir", last_import_dir_); + s.endGroup(); } @@ -376,4 +384,28 @@ QString TranscodeDialog::GetOutputFileName(const QString &input, const Transcode file_name = file_name.section('.', 0, -2); return path + '/' + file_name + '.' + preset.extension_; } + +} + +void TranscodeDialog::SaveGeometry() { + + QSettings s; + s.beginGroup(kSettingsGroup); + s.setValue("geometry", saveGeometry()); + s.endGroup(); + +} + +void TranscodeDialog::accept() { + + SaveGeometry(); + QDialog::accept(); + +} + +void TranscodeDialog::reject() { + + SaveGeometry(); + QDialog::reject(); + } diff --git a/src/transcoder/transcodedialog.h b/src/transcoder/transcodedialog.h index 8bd23a70c..008f1b8d3 100644 --- a/src/transcoder/transcodedialog.h +++ b/src/transcoder/transcodedialog.h @@ -66,6 +66,8 @@ class TranscodeDialog : public QDialog { void LogLine(const QString message); void Options(); void AddDestination(); + void accept(); + void reject(); private: void SetWorking(bool working); @@ -73,6 +75,7 @@ class TranscodeDialog : public QDialog { void UpdateProgress(); QString TrimPath(const QString &path) const; QString GetOutputFileName(const QString &input, const TranscoderPreset &preset) const; + void SaveGeometry(); private: Ui_TranscodeDialog *ui_; diff --git a/src/transcoder/transcodedialog.ui b/src/transcoder/transcodedialog.ui index 1032ab5d4..1b8a6054e 100644 --- a/src/transcoder/transcodedialog.ui +++ b/src/transcoder/transcodedialog.ui @@ -17,7 +17,7 @@ :/icons/64x64/strawberry.png:/icons/64x64/strawberry.png - + @@ -175,7 +175,7 @@ - + @@ -221,5 +221,38 @@ button_box - + + + button_box + accepted() + TranscodeDialog + accept() + + + 249 + 420 + + + 249 + 223 + + + + + button_box + rejected() + TranscodeDialog + reject() + + + 249 + 420 + + + 249 + 223 + + + +