summaryrefslogtreecommitdiffstats
path: root/ui/qt/capture_options_dialog.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:34:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:34:10 +0000
commite4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch)
tree68cb5ef9081156392f1dd62a00c6ccc1451b93df /ui/qt/capture_options_dialog.h
parentInitial commit. (diff)
downloadwireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz
wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ui/qt/capture_options_dialog.h')
-rw-r--r--ui/qt/capture_options_dialog.h126
1 files changed, 126 insertions, 0 deletions
diff --git a/ui/qt/capture_options_dialog.h b/ui/qt/capture_options_dialog.h
new file mode 100644
index 0000000..e9eea76
--- /dev/null
+++ b/ui/qt/capture_options_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 CAPTURE_OPTIONS_DIALOG_H
+#define CAPTURE_OPTIONS_DIALOG_H
+
+#include <config.h>
+
+#ifdef HAVE_LIBPCAP
+
+#include <ui/qt/models/interface_tree_model.h>
+
+#include "geometry_state_dialog.h"
+#include <QPushButton>
+#include <QTreeWidget>
+
+typedef struct if_stat_cache_s if_stat_cache_t;
+
+namespace Ui {
+class CaptureOptionsDialog;
+}
+
+#include <QStyledItemDelegate>
+
+class InterfaceTreeDelegate : public QStyledItemDelegate
+{
+ Q_OBJECT
+private:
+ QTreeWidget* tree_;
+
+public:
+ InterfaceTreeDelegate(QObject *parent = 0);
+ ~InterfaceTreeDelegate();
+
+ QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &idx) const;
+ void setTree(QTreeWidget* tree) { tree_ = tree; }
+ bool eventFilter(QObject *object, QEvent *event);
+
+signals:
+ void filterChanged(const QString filter);
+
+private slots:
+ void linkTypeChanged(const QString selected_link_type);
+ void snapshotLengthChanged(int value);
+ void bufferSizeChanged(int value);
+};
+
+class CaptureOptionsDialog : public GeometryStateDialog
+{
+ Q_OBJECT
+
+public:
+ explicit CaptureOptionsDialog(QWidget *parent = 0);
+ ~CaptureOptionsDialog();
+
+ void updateInterfaces();
+
+public slots:
+ void interfaceSelected();
+
+protected:
+ virtual void showEvent(QShowEvent *);
+
+private slots:
+ void on_capturePromModeCheckBox_toggled(bool checked);
+ void on_gbStopCaptureAuto_toggled(bool checked);
+ void on_cbUpdatePacketsRT_toggled(bool checked);
+ void on_cbAutoScroll_toggled(bool checked);
+ void on_gbNewFileAuto_toggled(bool checked);
+ void on_cbExtraCaptureInfo_toggled(bool checked);
+ void on_cbResolveMacAddresses_toggled(bool checked);
+ void on_compileBPF_clicked();
+ void on_manageButton_clicked();
+ void on_cbResolveNetworkNames_toggled(bool checked);
+ void on_cbResolveTransportNames_toggled(bool checked);
+ void on_buttonBox_accepted();
+ void on_buttonBox_rejected();
+ void on_buttonBox_helpRequested();
+ void filterEdited();
+ void updateWidgets();
+ void updateStatistics(void);
+ void refreshInterfaceList();
+ void updateLocalInterfaces();
+ void browseButtonClicked();
+ void interfaceItemChanged(QTreeWidgetItem *item, int column);
+ void itemClicked(QTreeWidgetItem *item, int column);
+ void itemDoubleClicked(QTreeWidgetItem *item, int column);
+ void changeEvent(QEvent* event);
+ void tempDirBrowseButtonClicked();
+
+signals:
+ void startCapture();
+ void stopCapture();
+ void setSelectedInterfaces();
+ void setFilterValid(bool valid, const QString capture_filter);
+ void interfacesChanged();
+ void ifsChanged();
+ void interfaceListChanged();
+ void captureFilterTextEdited(const QString & text);
+ void showExtcapOptions(QString &device_name, bool startCaptureOnClose);
+
+private:
+ Ui::CaptureOptionsDialog *ui;
+
+ if_stat_cache_t *stat_cache_;
+ QTimer *stat_timer_;
+ InterfaceTreeDelegate interface_item_delegate_;
+
+ interface_t *getDeviceByName(const QString device_name);
+ bool saveOptionsToPreferences();
+ void updateSelectedFilter();
+
+ void updateGlobalDeviceSelections();
+ void updateFromGlobalDeviceSelections();
+};
+
+#endif /* HAVE_LIBPCAP */
+
+#endif // CAPTURE_OPTIONS_DIALOG_H