Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
wireshark_main_window.h
Go to the documentation of this file.
1
10#ifndef WIRESHARK_MAIN_WINDOW_H
11#define WIRESHARK_MAIN_WINDOW_H
12
39#include <stdio.h>
40
41#include <config.h>
42
43#include "ui/ws_ui_util.h"
44#include "ui/iface_toolbar.h"
45
46#ifdef HAVE_LIBPCAP
47#include "ui/capture_opts.h"
48#endif
50
51#include <epan/timestamp.h>
52
54
55#include <QMainWindow>
56#include <QPointer>
57
58#ifdef _WIN32
59# include <QTimer>
60#else
61# include <QSocketNotifier>
62#endif
63
64#include "capture_file_dialog.h"
68#include "main_window.h"
69#include "rtp_stream_dialog.h"
70#include "rtp_analysis_dialog.h"
72
73class AccordionFrame;
74class DataSourceTab;
75class CaptureOptionsDialog;
76class DisStreamDialog;
77class InPacketFindBar;
78class PrintDialog;
79class FileSetDialog;
80class FilterDialog;
82class WelcomePage;
84class PacketDiagram;
85class PacketList;
86class ProtoTree;
87#if defined(HAVE_LIBNL) && defined(HAVE_NL80211)
88class WirelessFrame;
89#endif
92
93class QAction;
94class QActionGroup;
95
96namespace Ui {
98}
99
100Q_DECLARE_METATYPE(ts_type)
101Q_DECLARE_METATYPE(ts_precision)
102
103
109{
110 Q_OBJECT
111
112public:
118 explicit WiresharkMainWindow(QWidget *parent = nullptr);
119
124
125#ifdef HAVE_LIBPCAP
130 capture_session *captureSession() { return &cap_session_; }
131
136 info_data_t *captureInfoData() { return &info_data_; }
137#endif
138
143 QMenu *createPopupMenu() override;
144
150
154 void setFunnelMenus(void);
155
160 void removeAdditionalToolbar(QString toolbarName);
161
166 void addInterfaceToolbar(const iface_toolbar *toolbar_entry);
167
172 void removeInterfaceToolbar(const char *menu_title);
173
178 QString getMwFileName();
179
184 void setMwFileName(QString fileName);
185
186protected:
193 bool eventFilter(QObject *obj, QEvent *event) override;
194
200 bool event(QEvent *event) override;
201
206 void keyPressEvent(QKeyEvent *event) override;
207
212 void closeEvent(QCloseEvent *event) override;
213
218 void dragEnterEvent(QDragEnterEvent *event) override;
219
224 void dropEvent(QDropEvent *event) override;
225
230 void changeEvent(QEvent *event) override;
231
236 void openRecentCaptureFile(const QString &filename) override;
237
245 bool tryClosingCaptureFile(QString before_what, FileCloseContext context = Default) override;
246
247private:
252 enum MatchSelected {
253 MatchSelectedReplace,
254 MatchSelectedAnd,
255 MatchSelectedOr,
256 MatchSelectedNot,
257 MatchSelectedAndNot,
258 MatchSelectedOrNot
259 };
260
261 Ui::WiresharkMainWindow *main_ui_;
262 QFont mono_font_;
263#if defined(HAVE_LIBNL) && defined(HAVE_NL80211)
264 WirelessFrame *wireless_frame_;
265#endif
266 QWidget *previous_focus_;
267 FileSetDialog *file_set_dialog_;
268 QActionGroup *show_hide_actions_;
269 QActionGroup *time_display_actions_;
270 QActionGroup *time_precision_actions_;
271 FunnelStatistics *funnel_statistics_;
272 QAction *action_telephony_dis_streams_;
273 QList<QPair<QAction *, bool>> freeze_actions_;
274 QPointer<QWidget> freeze_focus_;
275 QMap<QAction *, ts_type> td_actions;
276 QMap<QAction *, ts_precision> tp_actions;
277 bool was_maximized_;
279 /* the following values are maintained so that the capture file name and status
280 is available when there is no cf structure available */
281
282 QString mwFileName_;
284 bool capture_stopping_;
285 bool capture_filter_valid_;
286#ifdef HAVE_LIBPCAP
287 capture_session cap_session_;
288 CaptureOptionsDialog *capture_options_dialog_;
289 info_data_t info_data_;
290#endif
291 InPacketFindBar *in_packet_find_bar_;
292 QPoint dragStartPosition;
294 QPointer<TLSKeylogDialog> tlskeylog_dialog_;
299 void freeze();
300
304 void thaw();
305
310 void mergeCaptureFile();
311
316 void importCaptureFile();
317
324 bool saveCaptureFile(capture_file *cf, bool dont_reopen);
325
334 bool saveAsCaptureFile(capture_file *cf, bool must_support_comments = false, bool dont_reopen = false);
335
340 void exportSelectedPackets();
341
346 void exportDissections(export_type_e export_type);
347
352 void enableAggregationView(bool enable) const;
353
354#ifdef Q_OS_WIN
362 void fileAddExtension(QString &file_name, int file_type, ws_compression_type compression_type);
363#endif
364
369 void captureStop(bool discard = false);
370
372 void initMainToolbarIcons();
373
375 void initShowHideMainWidgets();
376
378 void initTimeDisplayFormatMenu();
379
381 void initTimePrecisionFormatMenu();
382
384 void initFreezeActions();
385
390 void setMenusForCaptureFile(bool force_disable = false) override;
391
396 void setMenusForCaptureInProgress(bool capture_in_progress = false);
397
399 void setMenusForCaptureStopping();
400
405 void setForCapturedPackets(bool have_captured_packets);
406
411 void setMenusForFileSet(bool enable_list_files);
412
416 void updateStyleSheet();
417
424 void externalMenuHelper(ext_menu_t *menu, QMenu *subMenu, int depth);
425
433 void setForCaptureInProgress(bool capture_in_progress = false, bool handle_toolbars = false, GArray *ifaces = NULL);
434
442 QMenu *findOrAddMenu(QMenu *parent_menu, const QStringList &menu_parts);
443
450 QMenu *findOrAddMenubar(const QString menu_text);
451
456 void captureFileReadStarted(const QString &action);
457
463 void addMenusandSubmenus(QAction *action, QMenu *cur_menu);
464
470 void removeMenusandSubmenus(QAction *action, QMenu *cur_menu);
471
477 void addMenuActions(QList<QAction *> &actions, int menu_group);
478
484 void removeMenuActions(QList<QAction *> &actions, int menu_group);
485
491 void goToConversationFrame(bool go_next, bool start_current = true);
492
498 void colorizeWithFilter(QByteArray filter, int color_number = -1);
499
500signals:
506
509
512
517 void packetInfoChanged(struct _packet_info *pinfo);
518
523 void fieldFilterChanged(const QByteArray field_filter);
524
530
536
537#ifdef HAVE_LIBPCAP
543 void showExtcapOptions(QString &device_name, bool startCaptureOnClose);
544#endif
545
546public slots:
547 // Qt lets you connect signals and slots using functors (new, manual style)
548 // and strings (old style). Functors are preferred since they're connected at
549 // compile time and less error prone.
550 //
551 // If you're manually connecting a signal to a slot, don't prefix its name
552 // with "on_". Otherwise Qt will try to automatically connect it and you'll
553 // get runtime warnings.
554
555 // in main_window_slots.cpp
556
565 bool openCaptureFile(QString cf_path, QString display_filter, unsigned int type, bool is_tempfile = false);
566
573 bool openCaptureFile(QString cf_path = QString(), QString display_filter = QString()) { return openCaptureFile(cf_path, display_filter, WTAP_TYPE_AUTO); }
574
580 void filterPackets(QString new_filter = QString(), bool force = false) override;
581
583 void layoutToolbars();
584
587
589 void updateRecentActions();
590
594 void updateAggregationView() const;
595
598
601
602#ifdef HAVE_LIBPCAP
607 void captureCapturePrepared(capture_session *session);
608
613 void captureCaptureUpdateStarted(capture_session *session);
614
619 void captureCaptureUpdateFinished(capture_session *session);
620
625 void captureCaptureFixedFinished(capture_session *cap_session);
626
630 void captureCaptureFailed(capture_session *);
631#endif
632
634 void captureFileOpened();
635
638
640 void captureFileClosing();
641
643 void captureFileClosed();
644
655 void launchRLCGraph(bool channelKnown, uint8_t RAT, uint16_t ueid, uint8_t rlcMode,
656 uint16_t channelType, uint16_t channelId, uint8_t direction);
657
658#ifdef HAVE_LUA
660 void openLuaDebuggerDialog();
661#endif
662
667 void rtpPlayerDialogReplaceRtpStreams(QVector<rtpstream_id_t *> stream_ids);
668
673 void rtpPlayerDialogAddRtpStreams(QVector<rtpstream_id_t *> stream_ids);
674
679 void rtpPlayerDialogRemoveRtpStreams(QVector<rtpstream_id_t *> stream_ids);
680
685 void rtpAnalysisDialogReplaceRtpStreams(QVector<rtpstream_id_t *> stream_ids);
686
691 void rtpAnalysisDialogAddRtpStreams(QVector<rtpstream_id_t *> stream_ids);
692
697 void rtpAnalysisDialogRemoveRtpStreams(QVector<rtpstream_id_t *> stream_ids);
698
703 void rtpStreamsDialogSelectRtpStreams(QVector<rtpstream_id_t *> stream_ids);
704
709 void rtpStreamsDialogDeselectRtpStreams(QVector<rtpstream_id_t *> stream_ids);
710
711private slots:
716 void captureEventHandler(CaptureEvent ev);
717
719 void initViewColorizeMenu();
720
722 void initConversationMenus();
723
731 static bool addExportObjectsMenuItem(const void *key, void *value, void *userdata);
732
734 void initExportObjectsMenus();
735
743 static bool addFollowStreamMenuItem(const void *key, void *value, void *userdata);
744
746 void initFollowStreamMenus();
747
752 void startCapture(QStringList interfaces);
753
755 void startCapture();
756
758 void pushLiveCaptureInProgress();
759
761 void popLiveCaptureInProgress();
762
764 void stopCapture();
765
770 void aggregationViewChanged(bool enable) const;
771
773 void loadWindowGeometry();
774
776 void saveWindowGeometry();
777
781 void mainStackChanged(int);
782
784 void updateRecentCaptures();
785
787 void addPacketComment();
788
790 void editPacketComment();
791
793 void deletePacketComment();
794
796 void deleteCommentsFromPackets();
797
804 QString commentToMenuText(QString text, int max_len = 40);
805
807 void setEditCommentsMenu();
808
810 void setMenusForSelectedPacket();
811
816 void setMenusForSelectedTreeRow(FieldInformation *fi = NULL);
817
819 void interfaceSelectionChanged();
820
825 void captureFilterSyntaxChanged(bool valid);
826
828 void redissectPackets();
829
831 void checkDisplayFilter();
832
834 void fieldsChanged();
835
837 void reloadLuaPlugins();
838
844 void showAccordionFrame(AccordionFrame *show_frame, bool toggle = false);
845
850 void showColumnEditor(int column);
851
853 void showPreferenceEditor();
854
856 void addStatsPluginsToMenu();
857
859 void addDynamicMenus();
860
862 void reloadDynamicMenus();
863
865 void addPluginIFStructures();
866
872 QMenu *searchSubMenu(QString objectName);
873
877 void activatePluginIFToolbar(bool);
878
884 void startInterfaceCapture(bool valid, const QString capture_filter);
885
888 void applyGlobalCommandLineOptions();
889
894 void setFeaturesEnabled(bool enabled = true);
895
897 void on_actionNewDisplayFilterExpression_triggered();
898
904 void onFilterSelected(QString filterText, bool prepare);
905
907 void onFilterPreferences();
908
913 void onFilterEdit(int uatIndex);
914
921 void queuedFilterAction(QString filter, FilterAction::Action action, FilterAction::ActionType type);
922
929 void openStatCommandDialog(const QString &menu_path, const char *arg, void *userdata);
930
937 void openTapParameterDialog(const QString cfg_str, const QString arg, void *userdata);
938
940 void openTapParameterDialog();
941
943 void connectFileMenuActions();
944
946 void exportPacketBytes();
947
949 void exportPDU();
950
952 void stripPacketHeaders();
953
955 void exportTLSSessionKeys();
956
958 void printFile();
959
961 void connectEditMenuActions();
962
967 void copySelectedItems(WiresharkMainWindow::CopySelected selection_type);
968
970 void findPacket();
971
973 void on_actionEditFindInPacket_triggered();
974
976 void editTimeShift();
977
979 void editConfigurationProfiles();
980
985 void editTimeShiftFinished(int result);
986
992 void addPacketCommentFinished(PacketCommentDialog *pc_dialog, int result);
993
1000 void editPacketCommentFinished(PacketCommentDialog *pc_dialog, int result, unsigned nComment);
1001
1003 void deleteAllPacketComments();
1004
1009 void deleteAllPacketCommentsFinished(int result);
1010
1016 void injectSecrets(const char *proto_name, const char *wiki_link);
1017
1019 void discardAllSecrets();
1020
1025 void discardAllSecretsFinished(int result);
1026
1031 void showPreferencesDialog(QString module_name) override;
1032
1034 void connectViewMenuActions();
1035
1040 void showHideMainWidgets(QAction *action);
1041
1046 void setTimestampFormat(QAction *action);
1047
1052 void setTimestampPrecision(QAction *action);
1053
1058 void setTimeDisplaySecondsWithHoursAndMinutes(bool checked);
1059
1061 void editResolvedName();
1062
1064 void setNameResolution();
1065
1067 void zoomText();
1068
1070 void showColoringRulesDialog();
1071
1077 void colorizeConversation(bool create_rule = false);
1078
1080 void colorizeActionTriggered();
1081
1086 void openPacketDialog(bool from_reference = false);
1087
1089 void reloadCaptureFileAsFormatOrCapture();
1090
1092 void reloadCaptureFile();
1093
1095 void connectGoMenuActions();
1096
1098 void setPreviousFocus();
1099
1101 void resetPreviousFocus();
1102
1104 void connectCaptureMenuActions();
1105
1107 void startCaptureTriggered();
1108
1110 void connectAnalyzeMenuActions();
1111
1118 void matchFieldFilter(FilterAction::Action action, FilterAction::ActionType filter_type);
1119
1121 void applyFieldAsColumn();
1122
1124 void filterMenuAboutToShow();
1125
1127 void applyConversationFilter();
1128
1130 void applyExportObject();
1131
1139 void openFollowStreamDialog(int proto_id, unsigned stream_num, unsigned sub_stream_num, bool use_stream_index = true);
1140
1145 void openFollowStreamDialog(int proto_id);
1146
1153 void openIOGraph(bool filtered, QVector<uint> conv_ids, QVector<QVariant> conv_agg);
1154
1158 void statCommandExpertInfo(const char *, void *);
1159
1161 void connectHelpMenuActions();
1162
1164 void goToCancelClicked();
1165
1167 void goToGoClicked();
1168
1170 void goToLineEditReturnPressed();
1171
1173 void connectStatisticsMenuActions();
1174
1176 void showResolvedAddressesDialog();
1177
1179 void showConversationsDialog();
1180
1182 void showEndpointsDialog();
1183
1188 void openTcpStreamDialog(int graph_type);
1189
1191 void openSCTPAllAssocsDialog();
1192
1194 void on_actionSCTPShowAllAssociations_triggered();
1195
1197 void on_actionSCTPAnalyseThisAssociation_triggered();
1198
1200 void on_actionSCTPFilterThisAssociation_triggered();
1201
1205 void statCommandMulticastStatistics(const char *, void *);
1206
1210 void statCommandWlanStatistics(const char *, void *);
1211
1216 void openStatisticsTreeDialog(const char *abbr);
1217
1221 void statCommandIOGraph(const char *, void *);
1222
1228 void showIOGraphDialog(io_graph_item_unit_t value_units, QString yfield) override;
1229
1235 void showPlotDialog(const QString &y_field = QString(), bool filtered = false) override;
1236
1238 void connectTelephonyMenuActions();
1239
1244 DisStreamDialog *openTelephonyDisStreamsDialog();
1245
1250 RtpStreamDialog *openTelephonyRtpStreamsDialog();
1251
1256 RtpPlayerDialog *openTelephonyRtpPlayerDialog();
1257
1262 RtpAnalysisDialog *openTelephonyRtpAnalysisDialog();
1263
1268 void statCommandLteMacStatistics(const char *arg, void *);
1269
1274 void statCommandLteRlcStatistics(const char *arg, void *);
1275
1277 void openRtpStreamAnalysisDialog();
1278
1280 void openRtpPlayerDialog();
1281
1283 void connectWirelessMenuActions();
1284
1286 void connectToolsMenuActions();
1287
1289 void externalMenuItemTriggered();
1290
1292 void on_actionContextWikiProtocolPage_triggered();
1293
1295 void on_actionContextFilterFieldReference_triggered();
1296
1301 void extcap_options_finished(int result);
1302
1308 void showExtcapOptionsDialog(QString device_name, bool startCaptureOnClose);
1309
1317 QString findRtpStreams(QVector<rtpstream_id_t *> *stream_ids, bool reverse);
1318
1320 void openTLSKeylogDialog();
1321
1323 friend class MainApplication;
1324};
1325
1326#endif // WIRESHARK_MAIN_WINDOW_H
A QFrame that shows and hides itself with a slide animation.
Definition accordion_frame.h:21
Represents an event occurring during a capture or file operation.
Definition capture_event.h:24
Manages a capture file and its associated state and operations.
Definition capture_file.h:27
A tab widget that manages and displays different data sources for a packet (e.g., Hex,...
Definition data_source_tab.h:36
A dialog for viewing and managing DIS (Distributed Interactive Simulation) streams from a capture fil...
Definition dis_stream_dialog.h:34
Represents information about a dissected packet field.
Definition field_information.h:26
A dialog for managing and displaying capture file sets.
Definition file_set_dialog.h:32
Action
Defines an action to be taken with a filter.
Definition filter_action.h:30
ActionType
Defines how the new filter should be combined with the existing one.
Definition filter_action.h:43
A dialog for managing and editing capture filters, display filters, and display macros.
Definition filter_dialog.h:31
A toolbar that displays filter expressions and supports drag-and-drop operations.
Definition filter_expression_toolbar.h:21
Manages statistics and user interface interactions for Lua-based funnel plugins.
Definition funnel_statistics.h:35
Find bar widget for searching within a specific packet's protocol tree.
Definition in_packet_find_bar.h:28
Core application class handling global state, signals, and configurations.
Definition main_application.h:39
The main window of the application.
Definition main_window.h:51
CopySelected
Enumeration for determining what to copy when items are selected.
Definition main_window.h:211
CaptureFile capture_file_
Definition main_window.h:278
FileCloseContext
Context under which a capture file is being closed.
Definition main_window.h:235
@ Default
Default closing context.
Definition main_window.h:237
Dialog for viewing or editing a packet comment.
Definition packet_comment_dialog.h:23
A graphics view widget for displaying protocol packet diagrams.
Definition packet_diagram.h:29
The main packet list view for displaying captured packets.
Definition packet_list.h:45
Dialog that provides packet print and print-preview functionality for a live or saved capture file.
Definition print_dialog.h:31
A tree view for displaying protocol dissection details.
Definition proto_tree.h:30
Singleton dialog for analyzing RTP streams.
Definition rtp_analysis_dialog.h:102
Singleton dialog for playing and analyzing RTP audio streams. Singleton pattern based on https://refa...
Definition rtp_player_dialog.h:112
Singleton dialog for viewing and managing RTP streams. Singleton pattern based on https://refactoring...
Definition rtp_stream_dialog.h:32
Widget displayed on application startup, providing interface selection, capture filter configuration,...
Definition welcome_page.h:31
Toolbar frame that exposes 802.11 wireless interface controls — channel, channel type,...
Definition wireless_frame.h:27
Top-level Qt application object for the Wireshark GUI.
Definition wireshark_application.h:19
Wireshark main application window, extending MainWindow with the full Wireshark feature set including...
Definition wireshark_main_window.h:109
bool event(QEvent *event) override
Handles window-level events such as activation changes.
Definition wireshark_main_window.cpp:961
bool openCaptureFile(QString cf_path, QString display_filter, unsigned int type, bool is_tempfile=false)
Opens a capture file.
Definition wireshark_main_window_slots.cpp:199
void captureFileReadFinished()
Updates UI state after a capture file has been fully read.
Definition wireshark_main_window_slots.cpp:808
void rtpPlayerDialogAddRtpStreams(QVector< rtpstream_id_t * > stream_ids)
Adds streams to the RTP Player dialog.
Definition wireshark_main_window_slots.cpp:4286
void updateAggregationView() const
Refreshes the packet aggregation view to reflect the current capture state.
Definition wireshark_main_window_slots.cpp:450
void launchRLCGraph(bool channelKnown, uint8_t RAT, uint16_t ueid, uint8_t rlcMode, uint16_t channelType, uint16_t channelId, uint8_t direction)
Opens the LTE RLC graph dialog for a specific channel.
Definition wireshark_main_window_slots.cpp:3924
void openRecentCaptureFile(const QString &filename) override
Opens the given recent capture file, handling any necessary prompts.
Definition wireshark_main_window_slots.cpp:1069
void keyPressEvent(QKeyEvent *event) override
Handles key press events for global keyboard shortcuts.
Definition wireshark_main_window.cpp:975
void dropEvent(QDropEvent *event) override
Opens a capture file dropped onto the window.
Definition wireshark_main_window.cpp:1108
void rtpPlayerDialogReplaceRtpStreams(QVector< rtpstream_id_t * > stream_ids)
Replaces all streams in the RTP Player dialog with the given stream list.
Definition wireshark_main_window_slots.cpp:4279
QMenu * createPopupMenu() override
Creates and returns the window's right-click popup menu.
Definition wireshark_main_window.cpp:814
void removeInterfaceToolbar(const char *menu_title)
Removes the interface toolbar with the given menu title.
Definition wireshark_main_window.cpp:890
void rtpAnalysisDialogReplaceRtpStreams(QVector< rtpstream_id_t * > stream_ids)
Replaces all streams in the RTP Analysis dialog with the given stream list.
Definition wireshark_main_window_slots.cpp:4300
void setFunnelMenus(void)
Rebuilds the Lua funnel statistics menus from registered funnel entries.
Definition wireshark_main_window.cpp:3039
void changeEvent(QEvent *event) override
Responds to locale or palette changes by retranslating the UI.
Definition wireshark_main_window.cpp:2627
bool eventFilter(QObject *obj, QEvent *event) override
Filters events on watched objects (e.g. focus changes on child widgets).
Definition wireshark_main_window.cpp:943
void updatePreferenceActions()
Refreshes menu items that reflect preference values.
Definition wireshark_main_window_slots.cpp:387
void rtpPlayerDialogRemoveRtpStreams(QVector< rtpstream_id_t * > stream_ids)
Removes streams from the RTP Player dialog.
Definition wireshark_main_window_slots.cpp:4293
void packetInfoChanged(struct _packet_info *pinfo)
Emitted when the selected packet changes, providing the new packet info.
void setTitlebarForCaptureFile()
Updates the window title bar to reflect the current capture file name and state.
Definition wireshark_main_window.cpp:2452
void dragEnterEvent(QDragEnterEvent *event) override
Accepts drag-enter events for capture files dragged onto the window.
Definition wireshark_main_window.cpp:1077
void rtpStreamsDialogSelectRtpStreams(QVector< rtpstream_id_t * > stream_ids)
Selects the given streams in the RTP Streams dialog.
Definition wireshark_main_window_slots.cpp:4315
void captureFileClosing()
Updates UI state while a capture file is being closed.
Definition wireshark_main_window_slots.cpp:834
void setDissectedCaptureFile(capture_file *cf)
Emitted when a dissected capture file becomes the active file.
void updateRecentActions()
Rebuilds the File → Open Recent submenu from the recent-files list.
Definition wireshark_main_window_slots.cpp:403
CaptureFile * captureFile()
Returns a pointer to the current capture file object.
Definition wireshark_main_window.h:149
void rtpAnalysisDialogAddRtpStreams(QVector< rtpstream_id_t * > stream_ids)
Adds streams to the RTP Analysis dialog.
Definition wireshark_main_window_slots.cpp:4305
void selectRtpStream(rtpstream_id_t *id)
Emitted to request that an RTP stream be selected in all interested dialogs.
void deselectRtpStream(rtpstream_id_t *id)
Emitted to request that an RTP stream be deselected in all interested dialogs.
void rtpAnalysisDialogRemoveRtpStreams(QVector< rtpstream_id_t * > stream_ids)
Removes streams from the RTP Analysis dialog.
Definition wireshark_main_window_slots.cpp:4310
void captureFileOpened()
Updates UI state when a capture file is first opened.
Definition wireshark_main_window_slots.cpp:781
bool openCaptureFile(QString cf_path=QString(), QString display_filter=QString())
Convenience overload that auto-detects file type.
Definition wireshark_main_window.h:573
void layoutToolbars()
Repositions and resizes toolbars according to current layout settings.
Definition wireshark_main_window_slots.cpp:333
~WiresharkMainWindow()
Destroys the main window and releases all associated resources.
Definition wireshark_main_window.cpp:792
void captureFileClosed()
Resets UI state after a capture file has been fully closed.
Definition wireshark_main_window_slots.cpp:849
void reloadFields()
Emitted to request that all views reload their field definitions.
void filterPackets(QString new_filter=QString(), bool force=false) override
Applies a new display filter to the open capture file.
Definition wireshark_main_window_slots.cpp:307
void showCaptureOptionsDialog()
Opens the capture options dialog (interface selection, filters, etc.).
Definition wireshark_main_window_slots.cpp:3114
void closeEvent(QCloseEvent *event) override
Prompts the user to save unsaved changes before closing the window.
Definition wireshark_main_window.cpp:1015
void setMwFileName(QString fileName)
Sets the file path shown in the main window title bar.
Definition wireshark_main_window.cpp:3078
bool tryClosingCaptureFile(QString before_what, FileCloseContext context=Default) override
Attempts to close the current capture file, prompting the user to save if there are unsaved changes.
Definition wireshark_main_window.cpp:1860
void closePacketDialogs()
Emitted to request that all packet-detail dialogs close themselves.
QString getMwFileName()
Returns the file path currently shown in the main window title bar.
Definition wireshark_main_window.cpp:3073
void addInterfaceToolbar(const iface_toolbar *toolbar_entry)
Adds an interface toolbar for the given toolbar descriptor.
Definition wireshark_main_window.cpp:847
void rtpStreamsDialogDeselectRtpStreams(QVector< rtpstream_id_t * > stream_ids)
Deselects the given streams in the RTP Streams dialog.
Definition wireshark_main_window_slots.cpp:4320
void removeAdditionalToolbar(QString toolbarName)
Removes an additional (plugin/interface) toolbar by name.
Definition wireshark_main_window.cpp:3044
void fieldFilterChanged(const QByteArray field_filter)
Emitted when the field-based display filter changes.
export_type_e
Output format for packet data export operations.
Definition file_dialog.h:32
io_graph_item_unit_t
Selects the Y-axis value unit or aggregate calculation mode for an I/O graph plot.
Definition io_graph_item.h:29
Represents a capture file and its associated metadata.
Definition cfile.h:84
Opaque handle representing an active or pending capture session.
Definition capture_session.h:142
Represents a node in the plugin-registered menubar tree (menu, item, separator, or URL).
Definition plugin_if.h:72
Describes an interface toolbar and the set of controls it exposes.
Definition iface_toolbar.h:75
Definition capture_info.h:40
Represents the metadata and indexing information for a single captured frame.
Definition packet_info.h:43
Definition rtp_stream_id.h:33
ts_precision
Sub-second precision used when formatting packet timestamps.
Definition timestamp.h:43
ts_type
Format used to display packet timestamps in the summary packet list.
Definition timestamp.h:22