forked from osmocom/wireshark
Qt: Allow shift-double-clicking on a frame link.
You can open a new packet window in the GTK+ UI by holding down the shift key and double-clicking on a frame link in the protocol tree. Add this behavior to the Qt UI. Document the different ways of opening a new packet window and update the image. Change-Id: I55caf6cc8089a6c305fafd47b4870e7c69dbfb10 Reviewed-on: https://code.wireshark.org/review/7101 Reviewed-by: Gerald Combs <gerald@wireshark.org>
This commit is contained in:
parent
4d5bdf4256
commit
936f685af5
Binary file not shown.
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 28 KiB |
|
@ -30,16 +30,25 @@ You can also select and view packets the same way while Wireshark is capturing
|
||||||
if you selected ``Update list of packets in real time'' in the ``Capture
|
if you selected ``Update list of packets in real time'' in the ``Capture
|
||||||
Preferences'' dialog box.
|
Preferences'' dialog box.
|
||||||
|
|
||||||
In addition, you can view individual packets in a separate window as shown in
|
In addition you can view individual packets in a separate window as shown in
|
||||||
<<ChWorkPacketSepView>>. Do this by selecting the packet in which you are
|
<<ChWorkPacketSepView>>. You can do this by double-clicking on an item in the
|
||||||
interested in the packet list pane, and then select menu:View[Show Packet in New
|
packet list or by selecting the packet in which you are interested in the packet
|
||||||
Window]. This allows you to easily compare two or even more packets.
|
list pane and selecting menu:View[Show Packet in New Window]. This allows you to
|
||||||
|
easily compare two or more packets, even across multiple files.
|
||||||
|
|
||||||
[[ChWorkPacketSepView]]
|
[[ChWorkPacketSepView]]
|
||||||
|
|
||||||
.Viewing a packet in a separate window
|
.Viewing a packet in a separate window
|
||||||
image::wsug_graphics/ws-packet-sep-win.png[]
|
image::wsug_graphics/ws-packet-sep-win.png[]
|
||||||
|
|
||||||
|
Along with double-clicking the packet list and using the main menu there are a
|
||||||
|
number of other ways to open a new packet window:
|
||||||
|
|
||||||
|
- Hold down the shift key and double-click on a frame link in the packet
|
||||||
|
details.
|
||||||
|
- From <<PacketListPopupMenuTable>>.
|
||||||
|
- From <<PacketDetailsPopupMenuTable>>.
|
||||||
|
|
||||||
[[ChWorkDisplayPopUpSection]]
|
[[ChWorkDisplayPopUpSection]]
|
||||||
|
|
||||||
=== Pop-up menus
|
=== Pop-up menus
|
||||||
|
|
|
@ -393,6 +393,8 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||||
main_ui_->statusBar, SLOT(pushFieldStatus(QString&)));
|
main_ui_->statusBar, SLOT(pushFieldStatus(QString&)));
|
||||||
connect(proto_tree_, SIGNAL(protoItemSelected(field_info *)),
|
connect(proto_tree_, SIGNAL(protoItemSelected(field_info *)),
|
||||||
this, SLOT(setMenusForSelectedTreeRow(field_info *)));
|
this, SLOT(setMenusForSelectedTreeRow(field_info *)));
|
||||||
|
connect(proto_tree_, SIGNAL(openPacketInNewWindow(bool)),
|
||||||
|
this, SLOT(openPacketDialog(bool)));
|
||||||
|
|
||||||
connect(byte_view_tab_, SIGNAL(byteFieldHovered(QString&)),
|
connect(byte_view_tab_, SIGNAL(byteFieldHovered(QString&)),
|
||||||
main_ui_->statusBar, SLOT(pushByteStatus(QString&)));
|
main_ui_->statusBar, SLOT(pushByteStatus(QString&)));
|
||||||
|
|
|
@ -433,7 +433,7 @@ PacketList::PacketList(QWidget *parent) :
|
||||||
void PacketList::setProtoTree (ProtoTree *proto_tree) {
|
void PacketList::setProtoTree (ProtoTree *proto_tree) {
|
||||||
proto_tree_ = proto_tree;
|
proto_tree_ = proto_tree;
|
||||||
|
|
||||||
connect(proto_tree_, SIGNAL(goToFrame(int)), this, SLOT(goToPacket(int)));
|
connect(proto_tree_, SIGNAL(goToPacket(int)), this, SLOT(goToPacket(int)));
|
||||||
connect(proto_tree_, SIGNAL(relatedFrame(int)), this, SLOT(addRelatedFrame(int)));
|
connect(proto_tree_, SIGNAL(relatedFrame(int)), this, SLOT(addRelatedFrame(int)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -455,7 +455,11 @@ void ProtoTree::itemDoubleClick(QTreeWidgetItem *item, int column) {
|
||||||
fi = item->data(0, Qt::UserRole).value<field_info *>();
|
fi = item->data(0, Qt::UserRole).value<field_info *>();
|
||||||
|
|
||||||
if(fi->hfinfo->type == FT_FRAMENUM) {
|
if(fi->hfinfo->type == FT_FRAMENUM) {
|
||||||
emit goToFrame(fi->value.value.uinteger);
|
if (QApplication::queryKeyboardModifiers() & Qt::ShiftModifier) {
|
||||||
|
emit openPacketInNewWindow(true);
|
||||||
|
} else {
|
||||||
|
emit goToPacket(fi->value.value.uinteger);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(FI_GET_FLAG(fi, FI_URL) && IS_FT_STRING(fi->hfinfo->type)) {
|
if(FI_GET_FLAG(fi, FI_URL) && IS_FT_STRING(fi->hfinfo->type)) {
|
||||||
|
|
|
@ -51,7 +51,8 @@ private:
|
||||||
signals:
|
signals:
|
||||||
void protoItemSelected(QString &);
|
void protoItemSelected(QString &);
|
||||||
void protoItemSelected(field_info *);
|
void protoItemSelected(field_info *);
|
||||||
void goToFrame(int);
|
void openPacketInNewWindow(bool);
|
||||||
|
void goToPacket(int);
|
||||||
void relatedFrame(int);
|
void relatedFrame(int);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
Loading…
Reference in New Issue