diff options
Diffstat (limited to 'ui/qt/preferences_dialog.cpp')
-rw-r--r-- | ui/qt/preferences_dialog.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/ui/qt/preferences_dialog.cpp b/ui/qt/preferences_dialog.cpp index 4c2da2c703..8332b37025 100644 --- a/ui/qt/preferences_dialog.cpp +++ b/ui/qt/preferences_dialog.cpp @@ -48,7 +48,6 @@ #include <QKeyEvent> #include <QLineEdit> #include <QMessageBox> -#include <QPushButton> #include <QSpacerItem> #include <QTreeWidgetItemIterator> @@ -427,6 +426,7 @@ bool PreferencesDialog::stashedPrefIsDefault(pref_t *pref) case PREF_STRING: case PREF_FILENAME: + case PREF_DIRNAME: if (!(g_strcmp0(pref->default_val.string, pref->stashed_val.string))) return true; break; @@ -597,10 +597,19 @@ void PreferencesDialog::on_advancedTree_itemActivated(QTreeWidgetItem *item, int break; } case PREF_FILENAME: + case PREF_DIRNAME: { - QString filename = QFileDialog::getSaveFileName(this, - QString("Wireshark: ") + pref->description, - pref->stashed_val.string); + QString filename; + + if (pref->type == PREF_FILENAME) { + filename = QFileDialog::getSaveFileName(this, + QString("Wireshark: ") + pref->description, + pref->stashed_val.string); + } else { + filename = QFileDialog::getExistingDirectory(this, + QString("Wireshark: ") + pref->description, + pref->stashed_val.string); + } if (!filename.isEmpty()) { g_free((void *)pref->stashed_val.string); pref->stashed_val.string = qstring_strdup(filename); |