diff options
Diffstat (limited to 'ui/qt/main_window_slots.cpp')
-rw-r--r-- | ui/qt/main_window_slots.cpp | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/ui/qt/main_window_slots.cpp b/ui/qt/main_window_slots.cpp index 7a5edfb001..8463d8301c 100644 --- a/ui/qt/main_window_slots.cpp +++ b/ui/qt/main_window_slots.cpp @@ -71,6 +71,7 @@ #include "ui/software_update.h" #endif +#include "about_dialog.h" #include "bluetooth_att_server_attributes_dialog.h" #include "capture_file_dialog.h" #include "capture_file_properties_dialog.h" @@ -86,6 +87,8 @@ #include "lbm_lbtrm_transport_dialog.h" #include "lbm_lbtru_transport_dialog.h" #include "packet_comment_dialog.h" +#include "packet_dialog.h" +#include "packet_list.h" #include "preferences_dialog.h" #include "print_dialog.h" #include "profile_dialog.h" @@ -986,10 +989,8 @@ void MainWindow::setMenusForSelectedPacket() // frame_selected); // set_menu_sensitivity(ui_manager_main_menubar, "/Menubar/ViewMenu/ResetColoring1-10", // tmp_color_filters_used()); -// set_menu_sensitivity(ui_manager_main_menubar, "/Menubar/ViewMenu/ShowPacketinNewWindow", -// frame_selected); -// set_menu_sensitivity(ui_manager_packet_list_menu, "/PacketListMenuPopup/ShowPacketinNewWindow", -// frame_selected); + + main_ui_->actionViewShowPacketInNewWindow->setEnabled(frame_selected); // set_menu_sensitivity(ui_manager_packet_list_menu, "/PacketListMenuPopup/ManuallyResolveAddress", // frame_selected ? is_ip : FALSE); // set_menu_sensitivity(ui_manager_packet_list_menu, "/PacketListMenuPopup/SCTP", @@ -1097,8 +1098,9 @@ void MainWindow::setMenusForSelectedTreeRow(field_info *fi) { } if (capture_file_.capFile() != NULL && fi != NULL) { + header_field_info *hfinfo = capture_file_.capFile()->finfo_selected->hfinfo; + /* - header_field_info *hfinfo = fi->hfinfo; const char *abbrev; char *prev_abbrev; @@ -1112,8 +1114,10 @@ void MainWindow::setMenusForSelectedTreeRow(field_info *fi) { properties = prefs_is_registered_protocol(abbrev); */ bool can_match_selected = proto_can_match_selected(capture_file_.capFile()->finfo_selected, capture_file_.capFile()->edt); + bool is_framenum = hfinfo && hfinfo->type == FT_FRAMENUM ? true : false; // set_menu_sensitivity(ui_manager_tree_view_menu, // "/TreeViewPopup/GotoCorrespondingPacket", hfinfo->type == FT_FRAMENUM); + main_ui_->actionViewShowPacketReferenceInNewWindow->setEnabled(is_framenum); // set_menu_sensitivity(ui_manager_tree_view_menu, "/TreeViewPopup/Copy", // TRUE); @@ -2002,6 +2006,27 @@ void MainWindow::on_actionViewResizeColumns_triggered() } } +void MainWindow::openPacketDialog(bool from_reference) +{ + PacketDialog *packet_dialog = new PacketDialog(*this, capture_file_, from_reference); + connect(this, SIGNAL(monospaceFontChanged(QFont)), + packet_dialog, SIGNAL(monospaceFontChanged(QFont))); + zoomText(); // Emits monospaceFontChanged + + packet_dialog->show(); +} + +void MainWindow::on_actionViewShowPacketInNewWindow_triggered() +{ + openPacketDialog(); +} + +// This is only used in ProtoTree. Defining it here makes more sense. +void MainWindow::on_actionViewShowPacketReferenceInNewWindow_triggered() +{ + openPacketDialog(true); +} + void MainWindow::on_actionViewReload_triggered() { cf_reload(CaptureFile::globalCapFile()); |