diff options
Diffstat (limited to 'ui/qt/preferences_dialog.cpp')
-rw-r--r-- | ui/qt/preferences_dialog.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/ui/qt/preferences_dialog.cpp b/ui/qt/preferences_dialog.cpp index 347ff58070..26b4c62fcd 100644 --- a/ui/qt/preferences_dialog.cpp +++ b/ui/qt/preferences_dialog.cpp @@ -684,18 +684,25 @@ void PreferencesDialog::on_advancedTree_itemActivated(QTreeWidgetItem *item, int editor = cur_line_edit_; break; } - case PREF_FILENAME: + case PREF_SAVE_FILENAME: + case PREF_OPEN_FILENAME: case PREF_DIRNAME: { QString filename; - if (prefs_get_type(pref) == PREF_FILENAME) { + if (prefs_get_type(pref) == PREF_SAVE_FILENAME) { filename = QFileDialog::getSaveFileName(this, wsApp->windowTitleString(prefs_get_title(pref)), prefs_get_string_value(pref, pref_stashed)); + + } else if (prefs_get_type(pref) == PREF_OPEN_FILENAME) { + filename = QFileDialog::getOpenFileName(this, wsApp->windowTitleString(prefs_get_title(pref)), + prefs_get_string_value(pref, pref_stashed)); + } else { filename = QFileDialog::getExistingDirectory(this, wsApp->windowTitleString(prefs_get_title(pref)), - prefs_get_string_value(pref, pref_stashed)); + prefs_get_string_value(pref, pref_stashed)); } + if (!filename.isEmpty()) { prefs_set_string_value(pref, QDir::toNativeSeparators(filename).toStdString().c_str(), pref_stashed); adv_ti->updatePref(); |