aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/prefs.c6
-rw-r--r--epan/prefs.h1
-rw-r--r--ui/qt/main_window_preferences_frame.cpp7
-rw-r--r--ui/qt/main_window_preferences_frame.h2
-rw-r--r--ui/qt/main_window_preferences_frame.ui7
-rw-r--r--ui/qt/widgets/syntax_line_edit.cpp2
6 files changed, 24 insertions, 1 deletions
diff --git a/epan/prefs.c b/epan/prefs.c
index 1c2db68b32..b2f981818a 100644
--- a/epan/prefs.c
+++ b/epan/prefs.c
@@ -3230,6 +3230,11 @@ prefs_register_modules(void)
"Ask to save unsaved capture files?",
&prefs.gui_ask_unsaved);
+ prefs_register_bool_preference(gui_module, "autocomplete_filter",
+ "Display autocompletion for filter text",
+ "Display an autocomplete suggestion for display and capture filter controls",
+ &prefs.gui_autocomplete_filter);
+
prefs_register_bool_preference(gui_module, "find_wrap",
"Wrap to beginning/end of file during search",
"Wrap to beginning/end of file during search?",
@@ -4061,6 +4066,7 @@ pre_init_prefs(void)
prefs.gui_fileopen_dir = g_strdup(get_persdatafile_dir());
prefs.gui_fileopen_preview = 3;
prefs.gui_ask_unsaved = TRUE;
+ prefs.gui_autocomplete_filter = TRUE;
prefs.gui_find_wrap = TRUE;
prefs.gui_update_enabled = TRUE;
prefs.gui_update_channel = UPDATE_CHANNEL_STABLE;
diff --git a/epan/prefs.h b/epan/prefs.h
index 3e38d6d7dd..9e3149120f 100644
--- a/epan/prefs.h
+++ b/epan/prefs.h
@@ -165,6 +165,7 @@ typedef struct _e_prefs {
gchar *gui_fileopen_dir;
guint gui_fileopen_preview;
gboolean gui_ask_unsaved;
+ gboolean gui_autocomplete_filter;
gboolean gui_find_wrap;
gchar *gui_window_title;
gchar *gui_prepend_window_title;
diff --git a/ui/qt/main_window_preferences_frame.cpp b/ui/qt/main_window_preferences_frame.cpp
index 4832a417cb..a29be594ed 100644
--- a/ui/qt/main_window_preferences_frame.cpp
+++ b/ui/qt/main_window_preferences_frame.cpp
@@ -35,6 +35,7 @@ MainWindowPreferencesFrame::MainWindowPreferencesFrame(QWidget *parent) :
pref_recent_df_entries_max_ = prefFromPrefPtr(&prefs.gui_recent_df_entries_max);
pref_recent_files_count_max_ = prefFromPrefPtr(&prefs.gui_recent_files_count_max);
pref_ask_unsaved_ = prefFromPrefPtr(&prefs.gui_ask_unsaved);
+ pref_autocomplete_filter_ = prefFromPrefPtr(&prefs.gui_autocomplete_filter);
pref_toolbar_main_style_ = prefFromPrefPtr(&prefs.gui_toolbar_main_style);
QStyleOption style_opt;
@@ -122,6 +123,7 @@ void MainWindowPreferencesFrame::updateWidgets()
ui->maxRecentLineEdit->setText(QString::number(prefs_get_uint_value_real(pref_recent_files_count_max_, pref_stashed)));
ui->confirmUnsavedCheckBox->setChecked(prefs_get_bool_value(pref_ask_unsaved_, pref_stashed));
+ ui->displayAutoCompleteCheckBox->setChecked(prefs_get_bool_value(pref_autocomplete_filter_, pref_stashed));
ui->mainToolbarComboBox->setCurrentIndex(prefs_get_enum_value(pref_toolbar_main_style_, pref_stashed));
@@ -188,6 +190,11 @@ void MainWindowPreferencesFrame::on_confirmUnsavedCheckBox_toggled(bool checked)
prefs_set_bool_value(pref_ask_unsaved_, checked, pref_stashed);
}
+void MainWindowPreferencesFrame::on_displayAutoCompleteCheckBox_toggled(bool checked)
+{
+ prefs_set_bool_value(pref_autocomplete_filter_, checked, pref_stashed);
+}
+
void MainWindowPreferencesFrame::on_mainToolbarComboBox_currentIndexChanged(int index)
{
prefs_set_enum_value(pref_toolbar_main_style_, index, pref_stashed);
diff --git a/ui/qt/main_window_preferences_frame.h b/ui/qt/main_window_preferences_frame.h
index 01477e344c..5f51e1f87f 100644
--- a/ui/qt/main_window_preferences_frame.h
+++ b/ui/qt/main_window_preferences_frame.h
@@ -40,6 +40,7 @@ private:
pref_t *pref_recent_df_entries_max_;
pref_t *pref_recent_files_count_max_;
pref_t *pref_ask_unsaved_;
+ pref_t *pref_autocomplete_filter_;
pref_t *pref_toolbar_main_style_;
void updateWidgets();
@@ -52,6 +53,7 @@ private slots:
void on_maxFilterLineEdit_textEdited(const QString &new_max);
void on_maxRecentLineEdit_textEdited(const QString &new_max);
void on_confirmUnsavedCheckBox_toggled(bool checked);
+ void on_displayAutoCompleteCheckBox_toggled(bool checked);
void on_mainToolbarComboBox_currentIndexChanged(int index);
void on_languageComboBox_currentIndexChanged(int index);
};
diff --git a/ui/qt/main_window_preferences_frame.ui b/ui/qt/main_window_preferences_frame.ui
index 9824bbd80c..35dd6580f4 100644
--- a/ui/qt/main_window_preferences_frame.ui
+++ b/ui/qt/main_window_preferences_frame.ui
@@ -155,6 +155,13 @@
</widget>
</item>
<item>
+ <widget class="QCheckBox" name="displayAutoCompleteCheckBox">
+ <property name="text">
+ <string>Display autocompletion for filter text</string>
+ </property>
+ </widget>
+ </item>
+ <item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_5">
diff --git a/ui/qt/widgets/syntax_line_edit.cpp b/ui/qt/widgets/syntax_line_edit.cpp
index a846640f46..e241c86b7b 100644
--- a/ui/qt/widgets/syntax_line_edit.cpp
+++ b/ui/qt/widgets/syntax_line_edit.cpp
@@ -306,7 +306,7 @@ void SyntaxLineEdit::completionKeyPressEvent(QKeyEvent *event)
// ...otherwise process the key ourselves.
SyntaxLineEdit::keyPressEvent(event);
- if (!completer_ || !completion_model_) return;
+ if (!completer_ || !completion_model_ || !prefs.gui_autocomplete_filter) return;
// Do nothing on bare shift.
if ((event->modifiers() & Qt::ShiftModifier) && event->text().isEmpty()) return;