aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorDario Lombardo <lomato@gmail.com>2018-09-26 15:19:08 +0200
committerAnders Broman <a.broman58@gmail.com>2018-09-26 17:11:47 +0000
commit7a07832712cc0b533acadec2d627528e624033b6 (patch)
tree425ee0e99b8c2da0ece70d3a90283a0b83ef8a17 /ui
parent3aace032e7e60b4c8de289b55fa7767c6fc39e4a (diff)
prefs: add the option not to load interfaces on startup.
Change-Id: I2ade0647a8c32b76aebd60117b4317cd005aff91 Reviewed-on: https://code.wireshark.org/review/29854 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'ui')
-rw-r--r--ui/qt/capture_preferences_frame.cpp9
-rw-r--r--ui/qt/capture_preferences_frame.h2
-rw-r--r--ui/qt/capture_preferences_frame.ui7
-rw-r--r--ui/qt/main.cpp2
4 files changed, 18 insertions, 2 deletions
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)