summaryrefslogtreecommitdiff
path: root/ui/qt/interface_frame.cpp
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2017-03-10 14:37:18 +0100
committerPeter Wu <peter@lekensteyn.nl>2017-03-29 15:16:56 +0000
commit601fe5e3516b67e709628f9c4a4fa2c2f8918041 (patch)
tree3db1e0e4b0711496d6726c13e17f9b3e9c734148 /ui/qt/interface_frame.cpp
parent5eaa9e770533345dfc6664a5d53c6931b00fdc75 (diff)
downloadwireshark-601fe5e3516b67e709628f9c4a4fa2c2f8918041.tar.gz
Qt: propagate selection from main screen to dialog
Ensure that the selection in main screen is updated on refreshing interfaces (InterfaceFrame::interfaceListChanged). Add additional patches to ensure that selection changes from the main screen propagate to the dialog and be careful to avoid infinite recursions. Life of a signal for InterfaceFrame: ui->interfaceTree->selectionModel emits selectionChanged -> slot InterfaceFrame::interfaceTreeSelectionChanged -> emits InterfaceFrame::itemSelectionChanged -> slot MainWelcome::interfaceSelected -> emits MainWelcome::interfacesChanged -> slot CaptureInterfacesDialog::interfaceSelected (updats dialog selection) Life of a signal for CaptureInterfacesDialog: ui->interfaceTree emits itemSelectionChanged -> slot CaptureInterfacesDialog::interfaceSelected (emission of next signal because sender is ui->interfaceTree) -> emits CaptureInterfacesDialog::interfacesChanged -> slot InterfaceFrame::updateSelectedInterfaces (updates main screen selection) This should probably be updated to model/view with shared selection model in the future. Change-Id: Ibb32c201a92bd2f1310523b3e6e63b03209c9ce4 Reviewed-on: https://code.wireshark.org/review/20487 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Diffstat (limited to 'ui/qt/interface_frame.cpp')
-rw-r--r--ui/qt/interface_frame.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/ui/qt/interface_frame.cpp b/ui/qt/interface_frame.cpp
index 8d7d188236..f382f19f99 100644
--- a/ui/qt/interface_frame.cpp
+++ b/ui/qt/interface_frame.cpp
@@ -210,6 +210,8 @@ void InterfaceFrame::triggeredIfTypeButton()
void InterfaceFrame::interfaceListChanged()
{
resetInterfaceTreeDisplay();
+ // Ensure that device selection is consistent with the displayed selection.
+ updateSelectedInterfaces();
#ifdef HAVE_LIBPCAP
if (!stat_timer_) {