diff options
-rw-r--r-- | epan/prefs.c | 3 | ||||
-rw-r--r-- | epan/prefs.h | 1 | ||||
-rw-r--r-- | ui/qt/capture_preferences_frame.cpp | 9 | ||||
-rw-r--r-- | ui/qt/capture_preferences_frame.h | 2 | ||||
-rw-r--r-- | ui/qt/capture_preferences_frame.ui | 7 | ||||
-rw-r--r-- | ui/qt/main.cpp | 2 |
6 files changed, 22 insertions, 2 deletions
diff --git a/epan/prefs.c b/epan/prefs.c index 1ecf050fe8..39d560bda5 100644 --- a/epan/prefs.c +++ b/epan/prefs.c @@ -3462,6 +3462,9 @@ prefs_register_modules(void) prefs_register_bool_preference(capture_module, "real_time_update", "Update packet list in real time during capture", "Update packet list in real time during capture?", &prefs.capture_real_time); + prefs_register_bool_preference(capture_module, "no_interface_load", "Don't load interfaces on startup", + "Don't automatically load capture interfaces on startup", &prefs.capture_no_interface_load); + prefs_register_bool_preference(capture_module, "no_extcap", "Disable external capture interfaces", "Disable external capture modules (extcap)", &prefs.capture_no_extcap); diff --git a/epan/prefs.h b/epan/prefs.h index 15bff0759a..a52f75fb23 100644 --- a/epan/prefs.h +++ b/epan/prefs.h @@ -204,6 +204,7 @@ typedef struct _e_prefs { gboolean capture_pcap_ng; gboolean capture_real_time; gboolean capture_auto_scroll; /* XXX - Move to recent */ + gboolean capture_no_interface_load; gboolean capture_no_extcap; gboolean capture_show_info; GList *capture_columns; diff --git a/ui/qt/capture_preferences_frame.cpp b/ui/qt/capture_preferences_frame.cpp index ca3c0df24f..08f1271b0e 100644 --- a/ui/qt/capture_preferences_frame.cpp +++ b/ui/qt/capture_preferences_frame.cpp @@ -38,6 +38,7 @@ CapturePreferencesFrame::CapturePreferencesFrame(QWidget *parent) : pref_pcap_ng_ = prefFromPrefPtr(&prefs.capture_pcap_ng); pref_real_time_ = prefFromPrefPtr(&prefs.capture_real_time); pref_auto_scroll_ = prefFromPrefPtr(&prefs.capture_auto_scroll); + pref_no_interface_load_ = prefFromPrefPtr(&prefs.capture_no_interface_load); pref_no_extcap_ = prefFromPrefPtr(&prefs.capture_no_extcap); // Setting the left margin via a style sheet clobbers its @@ -68,7 +69,7 @@ void CapturePreferencesFrame::updateWidgets() default_device_string = prefs_get_string_value(pref_device_, pref_stashed); } ui->defaultInterfaceComboBox->clear(); - if (global_capture_opts.all_ifaces->len == 0) { + if (global_capture_opts.all_ifaces->len == 0 && !pref_no_interface_load_) { /* * No interfaces - try refreshing the local interfaces, to * see whether any have showed up (or privileges have changed @@ -106,6 +107,7 @@ void CapturePreferencesFrame::updateWidgets() ui->captureRealTimeCheckBox->setChecked(prefs_get_bool_value(pref_real_time_, pref_stashed)); ui->captureAutoScrollCheckBox->setChecked(prefs_get_bool_value(pref_auto_scroll_, pref_stashed)); #endif // HAVE_LIBPCAP + ui->captureNoInterfaceLoad->setChecked(prefs_get_bool_value(pref_no_interface_load_, pref_stashed)); ui->captureNoExtcapCheckBox->setChecked(prefs_get_bool_value(pref_no_extcap_, pref_stashed)); } @@ -134,6 +136,11 @@ void CapturePreferencesFrame::on_captureAutoScrollCheckBox_toggled(bool checked) prefs_set_bool_value(pref_auto_scroll_, checked, pref_stashed); } +void CapturePreferencesFrame::on_captureNoInterfaceLoad_toggled(bool checked) +{ + prefs_set_bool_value(pref_no_interface_load_, checked, pref_stashed); +} + void CapturePreferencesFrame::on_captureNoExtcapCheckBox_toggled(bool checked) { prefs_set_bool_value(pref_no_extcap_, checked, pref_stashed); diff --git a/ui/qt/capture_preferences_frame.h b/ui/qt/capture_preferences_frame.h index ab337cae6c..143d20ad49 100644 --- a/ui/qt/capture_preferences_frame.h +++ b/ui/qt/capture_preferences_frame.h @@ -35,6 +35,7 @@ private slots: void on_capturePcapNgCheckBox_toggled(bool checked); void on_captureRealTimeCheckBox_toggled(bool checked); void on_captureAutoScrollCheckBox_toggled(bool checked); + void on_captureNoInterfaceLoad_toggled(bool checked); void on_captureNoExtcapCheckBox_toggled(bool checked); private: @@ -45,6 +46,7 @@ private: pref_t *pref_pcap_ng_; pref_t *pref_real_time_; pref_t *pref_auto_scroll_; + pref_t *pref_no_interface_load_; pref_t *pref_no_extcap_; void updateWidgets(); diff --git a/ui/qt/capture_preferences_frame.ui b/ui/qt/capture_preferences_frame.ui index dade9f4531..93717df507 100644 --- a/ui/qt/capture_preferences_frame.ui +++ b/ui/qt/capture_preferences_frame.ui @@ -98,6 +98,13 @@ </widget> </item> <item> + <widget class="QCheckBox" name="captureNoInterfaceLoad"> + <property name="text"> + <string>Don't load interfaces on startup.</string> + </property> + </widget> + </item> + <item> <widget class="QCheckBox" name="captureNoExtcapCheckBox"> <property name="text"> <string>Disable external capture interfaces</string> diff --git a/ui/qt/main.cpp b/ui/qt/main.cpp index ead8a9dc38..9826f64f00 100644 --- a/ui/qt/main.cpp +++ b/ui/qt/main.cpp @@ -705,7 +705,7 @@ int main(int argc, char *qt_argv[]) #endif splash_update(RA_INTERFACES, NULL, NULL); - if (!global_commandline_info.cf_name) + if (!global_commandline_info.cf_name && !prefs.capture_no_interface_load) fill_in_local_interfaces(main_window_update); if (global_commandline_info.list_link_layer_types) |