diff options
Diffstat (limited to 'ui/qt/import_text_dialog.h')
-rw-r--r-- | ui/qt/import_text_dialog.h | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/ui/qt/import_text_dialog.h b/ui/qt/import_text_dialog.h new file mode 100644 index 00000000..ac9537d9 --- /dev/null +++ b/ui/qt/import_text_dialog.h @@ -0,0 +1,126 @@ +/** @file + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef IMPORT_TEXT_DIALOG_H +#define IMPORT_TEXT_DIALOG_H + +#include <config.h> + +#include <stdio.h> + +#include <glib.h> + +#include "ui/text_import.h" + +#include <ui/qt/widgets/syntax_line_edit.h> + +#include <QDialog> +#include <QPushButton> +#include <QRadioButton> +#include <QButtonGroup> + +namespace Ui { +class ImportTextDialog; +} + +class ImportTextDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ImportTextDialog(QWidget *parent = 0); + ~ImportTextDialog(); + QString &capfileName(); + +private: + void enableHeaderWidgets(uint encapsulation = WTAP_ENCAP_ETHERNET); + + /* regex fields */ + void enableFieldWidgets(bool enable_direction_input = true, bool enable_time_input = true); + + void check_line_edit(SyntaxLineEdit *le, bool &ok_enable, const QString &num_str, int base, guint max_val, bool is_short, guint *val_ptr); + void checkAddress(SyntaxLineEdit *le, bool &ok_enable, const QString &addr_str, ws_in4_addr *val_ptr); + void checkIPv6Address(SyntaxLineEdit *le, bool &ok_enable, const QString &addr_str, ws_in6_addr *val_ptr); + bool checkDateTimeFormat(const QString &time_format); + + void loadSettingsFile(); + void saveSettingsFile(); + void applyDialogSettings(); + void storeDialogSettings(); + + void updateImportButtonState(); + + Ui::ImportTextDialog *ti_ui_; + QVariantMap settings; + + QPushButton *import_button_; + QButtonGroup *encap_buttons; + text_import_info_t import_info_; + QString capfile_name_; + bool file_ok_; + bool timestamp_format_ok_; + + /* Regex input */ + bool regex_ok_; + bool re_has_dir_; + bool in_indication_ok_; + bool out_indication_ok_; + bool re_has_time_; + + bool ether_type_ok_; + bool proto_ok_; + bool source_addr_ok_; + bool dest_addr_ok_; + bool source_port_ok_; + bool dest_port_ok_; + bool tag_ok_; + bool ppi_ok_; + bool payload_ok_; + bool max_len_ok_; + +public slots: + int exec(); + +private slots: + void on_textFileBrowseButton_clicked(); + void on_textFileLineEdit_textChanged(const QString &arg1); + void on_modeTabWidget_currentChanged(int index); + void on_timestampFormatLineEdit_textChanged(const QString &arg1); + + /* Hex Dump input */ + void on_noOffsetButton_toggled(bool checked); + void on_directionIndicationCheckBox_toggled(bool checked); + void on_asciiIdentificationCheckBox_toggled(bool checked); + + /* Regex input */ + void on_regexTextEdit_textChanged(); + void on_dataEncodingComboBox_currentIndexChanged(int index); + void on_dirInIndicationLineEdit_textChanged(const QString &arg1); + void on_dirOutIndicationLineEdit_textChanged(const QString &arg1); + + /* Encapsulation input */ + void on_encapComboBox_currentIndexChanged(int index); + void encap_buttonsToggled(QAbstractButton *button, bool checked); + void on_ipVersionComboBox_currentIndexChanged(int index); + void on_ethertypeLineEdit_textChanged(const QString ðertype_str); + void on_protocolLineEdit_textChanged(const QString &protocol_str); + void on_sourceAddressLineEdit_textChanged(const QString &source_addr_str); + void on_destinationAddressLineEdit_textChanged(const QString &destination_addr_str); + void on_sourcePortLineEdit_textChanged(const QString &source_port_str); + void on_destinationPortLineEdit_textChanged(const QString &destination_port_str); + void on_tagLineEdit_textChanged(const QString &tag_str); + void on_ppiLineEdit_textChanged(const QString &ppi_str); + + /* Footer input */ + void on_maxLengthLineEdit_textChanged(const QString &max_frame_len_str); + void on_buttonBox_helpRequested(); +}; + + +#endif // IMPORT_TEXT_DIALOG_H |