111 info_data_t *captureInfoData() {
return &info_data_; }
114 virtual QMenu *createPopupMenu();
116 CaptureFile *captureFile() {
return &capture_file_; }
118 void removeAdditionalToolbar(QString toolbarName);
120 void addInterfaceToolbar(
const iface_toolbar *toolbar_entry);
121 void removeInterfaceToolbar(
const char *menu_title);
123 QString getMwFileName();
124 void setMwFileName(QString fileName);
127 virtual bool eventFilter(QObject *obj, QEvent *event);
128 virtual bool event(QEvent *event);
129 virtual void keyPressEvent(QKeyEvent *event);
130 virtual void closeEvent(QCloseEvent *event);
131 virtual void dragEnterEvent(QDragEnterEvent *event);
132 virtual void dropEvent(QDropEvent *event);
133 virtual void changeEvent(QEvent* event);
138 MatchSelectedReplace,
146 enum FileCloseContext {
154 Ui::WiresharkMainWindow *main_ui_;
156 QMap<QString, QTextCodec *> text_codec_map_;
157#if defined(HAVE_LIBNL) && defined(HAVE_NL80211)
160 QWidget *previous_focus_;
162 QActionGroup *show_hide_actions_;
163 QActionGroup *time_display_actions_;
164 QActionGroup *time_precision_actions_;
166 QList<QPair<QAction *, bool> > freeze_actions_;
167 QPointer<QWidget> freeze_focus_;
168 QMap<QAction *, ts_type> td_actions;
169 QMap<QAction *, ts_precision> tp_actions;
176 bool capture_stopping_;
177 bool capture_filter_valid_;
180 CaptureOptionsDialog *capture_options_dialog_;
188#ifdef HAVE_SOFTWARE_UPDATE
189 QAction *update_action_;
192 QPoint dragStartPosition;
194 QPointer<TLSKeylogDialog> tlskeylog_dialog_;
199 void mergeCaptureFile();
200 void importCaptureFile();
201 bool saveCaptureFile(
capture_file *cf,
bool dont_reopen);
202 bool saveAsCaptureFile(
capture_file *cf,
bool must_support_comments =
false,
bool dont_reopen =
false);
203 void exportSelectedPackets();
204 void exportDissections(export_type_e export_type);
207 void fileAddExtension(QString &file_name,
int file_type, wtap_compression_type compression_type);
209 bool testCaptureFileClose(QString before_what, FileCloseContext context = Default);
210 void captureStop(
bool discard =
false);
212 void findTextCodecs();
214 void initMainToolbarIcons();
215 void initShowHideMainWidgets();
216 void initTimeDisplayFormatMenu();
217 void initTimePrecisionFormatMenu();
218 void initFreezeActions();
220 void setMenusForCaptureFile(
bool force_disable =
false);
221 void setMenusForCaptureInProgress(
bool capture_in_progress =
false);
222 void setMenusForCaptureStopping();
223 void setForCapturedPackets(
bool have_captured_packets);
224 void setMenusForFileSet(
bool enable_list_files);
225 void setWindowIcon(
const QIcon &icon);
226 void updateStyleSheet();
228 void externalMenuHelper(
ext_menu_t * menu, QMenu * subMenu,
int depth);
230 void setForCaptureInProgress(
bool capture_in_progress =
false,
bool handle_toolbars =
false, GArray *ifaces = NULL);
231 QMenu* findOrAddMenu(QMenu *parent_menu,
const QStringList& menu_parts);
233 void captureFileReadStarted(
const QString &action);
235 void addMenusandSubmenus(QAction *action, QMenu *cur_menu);
236 void removeMenusandSubmenus(QAction *action, QMenu *cur_menu);
237 void addMenuActions(QList<QAction *> &actions,
int menu_group);
238 void removeMenuActions(QList<QAction *> &actions,
int menu_group);
239 void goToConversationFrame(
bool go_next,
bool start_current =
true);
240 void colorizeWithFilter(QByteArray filter,
int color_number = -1);
244 void closePacketDialogs();
247 void fieldFilterChanged(
const QByteArray field_filter);
253 void showExtcapOptions(QString &device_name,
bool startCaptureOnClose);
275 bool openCaptureFile(QString cf_path, QString display_filter,
unsigned int type,
bool is_tempfile =
false);
276 bool openCaptureFile(QString cf_path = QString(), QString display_filter = QString()) {
return openCaptureFile(cf_path, display_filter, WTAP_TYPE_AUTO); }
277 void filterPackets(QString new_filter = QString(),
bool force =
false);
278 void layoutToolbars();
279 void updatePreferenceActions();
280 void updateRecentActions();
282 void setTitlebarForCaptureFile();
284 void showCaptureOptionsDialog();
294 void captureFileOpened();
295 void captureFileReadFinished();
296 void captureFileClosing();
297 void captureFileClosed();
299 void launchRLCGraph(
bool channelKnown, uint8_t RAT, uint16_t ueid, uint8_t rlcMode,
300 uint16_t channelType, uint16_t channelId, uint8_t direction);
302 void rtpPlayerDialogReplaceRtpStreams(QVector<rtpstream_id_t *> stream_ids);
303 void rtpPlayerDialogAddRtpStreams(QVector<rtpstream_id_t *> stream_ids);
304 void rtpPlayerDialogRemoveRtpStreams(QVector<rtpstream_id_t *> stream_ids);
305 void rtpAnalysisDialogReplaceRtpStreams(QVector<rtpstream_id_t *> stream_ids);
306 void rtpAnalysisDialogAddRtpStreams(QVector<rtpstream_id_t *> stream_ids);
307 void rtpAnalysisDialogRemoveRtpStreams(QVector<rtpstream_id_t *> stream_ids);
308 void rtpStreamsDialogSelectRtpStreams(QVector<rtpstream_id_t *> stream_ids);
309 void rtpStreamsDialogDeselectRtpStreams(QVector<rtpstream_id_t *> stream_ids);
315 void initViewColorizeMenu();
316 void initConversationMenus();
317 static bool addExportObjectsMenuItem(
const void *key,
void *value,
void *userdata);
318 void initExportObjectsMenus();
319 static bool addFollowStreamMenuItem(
const void *key,
void *value,
void *userdata);
320 void initFollowStreamMenus();
328 void startCapture(QStringList);
330 void pushLiveCaptureInProgress();
331 void popLiveCaptureInProgress();
334 void loadWindowGeometry();
335 void saveWindowGeometry();
336 void mainStackChanged(
int);
337 void updateRecentCaptures();
338 void recentActionTriggered();
339 void addPacketComment();
340 void editPacketComment();
341 void deletePacketComment();
342 void deleteCommentsFromPackets();
343 QString commentToMenuText(QString text,
int max_len = 40);
344 void setEditCommentsMenu();
345 void setMenusForSelectedPacket();
347 void interfaceSelectionChanged();
348 void captureFilterSyntaxChanged(
bool valid);
349 void redissectPackets();
350 void checkDisplayFilter();
351 void fieldsChanged();
352 void reloadLuaPlugins();
353 void showAccordionFrame(
AccordionFrame *show_frame,
bool toggle =
false);
354 void showColumnEditor(
int column);
355 void showPreferenceEditor();
356 void addStatsPluginsToMenu();
357 void addDynamicMenus();
358 void reloadDynamicMenus();
359 void addPluginIFStructures();
360 QMenu * searchSubMenu(QString objectName);
361 void activatePluginIFToolbar(
bool);
363 void startInterfaceCapture(
bool valid,
const QString capture_filter);
365 void applyGlobalCommandLineOptions();
366 void setFeaturesEnabled(
bool enabled =
true);
368 void on_actionNewDisplayFilterExpression_triggered();
369 void onFilterSelected(QString,
bool);
370 void onFilterPreferences();
371 void onFilterEdit(
int uatIndex);
374 void queuedFilterAction(QString filter, FilterAction::Action action, FilterAction::ActionType type);
381 void openStatCommandDialog(
const QString &menu_path,
const char *arg,
void *userdata);
388 void openTapParameterDialog(
const QString cfg_str,
const QString arg,
void *userdata);
389 void openTapParameterDialog();
391#if defined(HAVE_SOFTWARE_UPDATE) && defined(Q_OS_WIN)
392 void softwareUpdateRequested();
398 void connectFileMenuActions();
399 void exportPacketBytes();
401 void stripPacketHeaders();
402 void exportTLSSessionKeys();
405 void connectEditMenuActions();
406 void copySelectedItems(WiresharkMainWindow::CopySelected selection_type);
408 void editTimeShift();
409 void editConfigurationProfiles();
410 void editTimeShiftFinished(
int);
412 void editPacketCommentFinished(
PacketCommentDialog* pc_dialog,
int result,
unsigned nComment);
413 void deleteAllPacketComments();
414 void deleteAllPacketCommentsFinished(
int result);
415 void injectSecrets();
416 void discardAllSecrets();
417 void discardAllSecretsFinished(
int result);
418 void showPreferencesDialog(QString module_name);
420 void connectViewMenuActions();
421 void showHideMainWidgets(QAction *action);
422 void setTimestampFormat(QAction *action);
423 void setTimestampPrecision(QAction *action);
424 void setTimeDisplaySecondsWithHoursAndMinutes(
bool checked);
425 void editResolvedName();
426 void setNameResolution();
428 void showColoringRulesDialog();
429 void colorizeConversation(
bool create_rule =
false);
430 void colorizeActionTriggered();
431 void openPacketDialog(
bool from_reference =
false);
432 void reloadCaptureFileAsFormatOrCapture();
433 void reloadCaptureFile();
435 void connectGoMenuActions();
437 void setPreviousFocus();
438 void resetPreviousFocus();
440 void connectCaptureMenuActions();
441 void startCaptureTriggered();
443 void connectAnalyzeMenuActions();
445 void matchFieldFilter(FilterAction::Action action, FilterAction::ActionType filter_type);
446 void applyFieldAsColumn();
448 void filterMenuAboutToShow();
450 void applyConversationFilter();
451 void applyExportObject();
453 void openFollowStreamDialog(
int proto_id,
unsigned stream_num,
unsigned sub_stream_num,
bool use_stream_index =
true);
454 void openFollowStreamDialog(
int proto_id);
455 void openIOGraph(
bool filtered, QVector<uint> conv_ids, QVector<QVariant> conv_agg);
457 void statCommandExpertInfo(
const char *,
void *);
459 void connectHelpMenuActions();
461#ifdef HAVE_SOFTWARE_UPDATE
462 void checkForUpdates();
465 void goToCancelClicked();
466 void goToGoClicked();
467 void goToLineEditReturnPressed();
469 void connectStatisticsMenuActions();
471 void showResolvedAddressesDialog();
472 void showConversationsDialog();
473 void showEndpointsDialog();
475 void openTcpStreamDialog(
int graph_type);
476 void openSCTPAllAssocsDialog();
477 void on_actionSCTPShowAllAssociations_triggered();
478 void on_actionSCTPAnalyseThisAssociation_triggered();
479 void on_actionSCTPFilterThisAssociation_triggered();
480 void statCommandMulticastStatistics(
const char *arg,
void *);
482 void statCommandWlanStatistics(
const char *arg,
void *);
484 void openStatisticsTreeDialog(
const char *abbr);
485 void statCommandIOGraph(
const char *,
void *);
486 void showIOGraphDialog(io_graph_item_unit_t value_units, QString);
488 void connectTelephonyMenuActions();
493 void statCommandLteMacStatistics(
const char *arg,
void *);
494 void statCommandLteRlcStatistics(
const char *arg,
void *);
495 void openRtpStreamAnalysisDialog();
496 void openRtpPlayerDialog();
498 void connectWirelessMenuActions();
500 void connectToolsMenuActions();
502 void externalMenuItemTriggered();
504 void on_actionContextWikiProtocolPage_triggered();
505 void on_actionContextFilterFieldReference_triggered();
507 void extcap_options_finished(
int result);
508 void showExtcapOptionsDialog(QString & device_name,
bool startCaptureOnClose);
510 QString findRtpStreams(QVector<rtpstream_id_t *> *stream_ids,
bool reverse);
512 void openTLSKeylogDialog();