aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/main_window_slots.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ui/qt/main_window_slots.cpp')
-rw-r--r--ui/qt/main_window_slots.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/ui/qt/main_window_slots.cpp b/ui/qt/main_window_slots.cpp
index 3516730475..a164c20865 100644
--- a/ui/qt/main_window_slots.cpp
+++ b/ui/qt/main_window_slots.cpp
@@ -1114,7 +1114,7 @@ void MainWindow::recentActionTriggered() {
void MainWindow::setMenusForSelectedPacket()
{
- gboolean is_ip = FALSE, is_tcp = FALSE, is_udp = FALSE, is_sctp = FALSE, is_tls = FALSE, is_rtp = FALSE, is_lte_rlc = FALSE, is_http = FALSE;
+ gboolean is_ip = FALSE, is_tcp = FALSE, is_udp = FALSE, is_sctp = FALSE, is_tls = FALSE, is_rtp = FALSE, is_lte_rlc = FALSE, is_http = FALSE, is_http2 = FALSE;
/* Making the menu context-sensitive allows for easier selection of the
desired item and has the added benefit, with large captures, of
@@ -1173,6 +1173,7 @@ void MainWindow::setMenusForSelectedPacket()
&is_ip, &is_tcp, &is_udp, &is_sctp,
&is_tls, &is_rtp, &is_lte_rlc);
is_http = proto_is_frame_protocol(capture_file_.capFile()->edt->pi.layers, "http");
+ is_http2 = proto_is_frame_protocol(capture_file_.capFile()->edt->pi.layers, "http2");
}
}
@@ -1205,6 +1206,7 @@ void MainWindow::setMenusForSelectedPacket()
main_ui_->actionAnalyzeFollowUDPStream->setEnabled(is_udp);
main_ui_->actionAnalyzeFollowTLSStream->setEnabled(is_tls);
main_ui_->actionAnalyzeFollowHTTPStream->setEnabled(is_http);
+ main_ui_->actionAnalyzeFollowHTTP2Stream->setEnabled(is_http2);
foreach(QAction *cc_action, cc_actions) {
cc_action->setEnabled(frame_selected);
@@ -2697,7 +2699,7 @@ void MainWindow::on_actionAnalyzeReloadLuaPlugins_triggered()
reloadLuaPlugins();
}
-void MainWindow::openFollowStreamDialog(follow_type_t type, guint stream_num, bool use_stream_index) {
+void MainWindow::openFollowStreamDialog(follow_type_t type, guint stream_num, guint sub_stream_num, bool use_stream_index) {
FollowStreamDialog *fsd = new FollowStreamDialog(*this, capture_file_, type);
connect(fsd, SIGNAL(updateFilter(QString, bool)), this, SLOT(filterPackets(QString, bool)));
connect(fsd, SIGNAL(goToPacket(int)), packet_list_, SLOT(goToPacket(int)));
@@ -2706,14 +2708,14 @@ void MainWindow::openFollowStreamDialog(follow_type_t type, guint stream_num, bo
if (use_stream_index) {
// If a specific conversation was requested, then ignore any previous
// display filters and display all related packets.
- fsd->follow("", true, stream_num);
+ fsd->follow("", true, stream_num, sub_stream_num);
} else {
fsd->follow(getFilter());
}
}
void MainWindow::openFollowStreamDialogForType(follow_type_t type) {
- openFollowStreamDialog(type, 0, false);
+ openFollowStreamDialog(type, 0, 0, false);
}
void MainWindow::on_actionAnalyzeFollowTCPStream_triggered()
@@ -2736,6 +2738,11 @@ void MainWindow::on_actionAnalyzeFollowHTTPStream_triggered()
openFollowStreamDialogForType(FOLLOW_HTTP);
}
+void MainWindow::on_actionAnalyzeFollowHTTP2Stream_triggered()
+{
+ openFollowStreamDialogForType(FOLLOW_HTTP2);
+}
+
void MainWindow::openSCTPAllAssocsDialog()
{
SCTPAllAssocsDialog *sctp_dialog = new SCTPAllAssocsDialog(this, capture_file_.capFile());