1 /* capture_filter_combo.h
2  *
3  * Wireshark - Network traffic analyzer
4  * By Gerald Combs <gerald@wireshark.org>
5  * Copyright 1998 Gerald Combs
6  *
7  * SPDX-License-Identifier: GPL-2.0-or-later
8  */
9 
10 #ifndef CAPTURE_FILTER_COMBO_H
11 #define CAPTURE_FILTER_COMBO_H
12 
13 #include <ui/qt/widgets/capture_filter_edit.h>
14 
15 #include <QComboBox>
16 #include <QList>
17 
18 class CaptureFilterCombo : public QComboBox
19 {
20     Q_OBJECT
21 public:
22     explicit CaptureFilterCombo(QWidget *parent = 0, bool plain = false);
23     bool addRecentCapture(const char *filter);
24     void writeRecent(FILE *rf);
25     void setConflict(bool conflict = false) { cf_edit_->setConflict(conflict); }
26 
27 signals:
28     void interfacesChanged();
29     void captureFilterSyntaxChanged(bool valid);
30     void startCapture();
31 
32 protected:
33     virtual bool event(QEvent *event);
34 
35 private:
36     void updateStyleSheet();
37     CaptureFilterEdit *cf_edit_;
38 
39 private slots:
40     void saveAndRebuildFilterList();
41     void rebuildFilterList();
42 };
43 
44 #endif // CAPTURE_FILTER_COMBO_H
45