aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ui/qt/funnel_statistics.cpp8
-rw-r--r--ui/qt/funnel_statistics.h6
-rw-r--r--ui/qt/main_window.cpp6
3 files changed, 9 insertions, 11 deletions
diff --git a/ui/qt/funnel_statistics.cpp b/ui/qt/funnel_statistics.cpp
index ab0449f0da..eefcf7980d 100644
--- a/ui/qt/funnel_statistics.cpp
+++ b/ui/qt/funnel_statistics.cpp
@@ -100,7 +100,8 @@ static gboolean menus_registered = FALSE;
FunnelStatistics::FunnelStatistics(QObject *parent, CaptureFile &cf) :
QObject(parent),
- capture_file_(cf)
+ capture_file_(cf),
+ prepared_filter_(QString())
{
funnel_ops_ = new(struct _funnel_ops_t);
memset(funnel_ops_, 0, sizeof(struct _funnel_ops_t));
@@ -154,7 +155,8 @@ const char *FunnelStatistics::displayFilter()
void FunnelStatistics::emitSetDisplayFilter(const QString filter)
{
- emit setDisplayFilter(filter);
+ prepared_filter_ = filter;
+ emit setDisplayFilter(filter, FilterAction::ActionPrepare, FilterAction::ActionTypePlain);
}
void FunnelStatistics::reloadPackets()
@@ -169,7 +171,7 @@ void FunnelStatistics::reloadLuaPlugins()
void FunnelStatistics::emitApplyDisplayFilter()
{
- emit applyDisplayFilter();
+ emit setDisplayFilter(prepared_filter_, FilterAction::ActionApply, FilterAction::ActionTypePlain);
}
void FunnelStatistics::emitOpenCaptureFile(QString cf_path, QString filter)
diff --git a/ui/qt/funnel_statistics.h b/ui/qt/funnel_statistics.h
index abb4b9f22c..7a224d92a2 100644
--- a/ui/qt/funnel_statistics.h
+++ b/ui/qt/funnel_statistics.h
@@ -13,8 +13,8 @@
#include <QObject>
#include "capture_file.h"
-
#include "funnel_text_dialog.h"
+#include <ui/qt/filter_action.h>
struct _funnel_ops_t;
struct _funnel_progress_window_t;
@@ -36,9 +36,8 @@ public:
static const QString &actionName() { return action_name_; }
signals:
- void setDisplayFilter(const QString filter);
- void applyDisplayFilter();
void openCaptureFile(QString cf_path, QString filter);
+ void setDisplayFilter(QString filter, FilterAction::Action action, FilterAction::ActionType filterType);
public slots:
void funnelActionTriggered();
@@ -49,6 +48,7 @@ private:
struct _funnel_ops_t *funnel_ops_;
CaptureFile &capture_file_;
QByteArray display_filter_;
+ QString prepared_filter_;
};
extern "C" {
diff --git a/ui/qt/main_window.cpp b/ui/qt/main_window.cpp
index 543cf35123..a147909e30 100644
--- a/ui/qt/main_window.cpp
+++ b/ui/qt/main_window.cpp
@@ -373,15 +373,11 @@ MainWindow::MainWindow(QWidget *parent) :
#endif
df_combo_box_ = new DisplayFilterCombo(this);
- const DisplayFilterEdit *df_edit = qobject_cast<DisplayFilterEdit *>(df_combo_box_->lineEdit());
funnel_statistics_ = new FunnelStatistics(this, capture_file_);
- connect(df_edit, SIGNAL(textChanged(QString)), funnel_statistics_, SLOT(displayFilterTextChanged(QString)));
- connect(funnel_statistics_, SIGNAL(setDisplayFilter(QString)), df_edit, SLOT(setText(QString)));
- connect(funnel_statistics_, SIGNAL(applyDisplayFilter()), df_combo_box_, SLOT(applyDisplayFilter()));
+ connect(funnel_statistics_, &FunnelStatistics::setDisplayFilter, this, &MainWindow::setDisplayFilter);
connect(funnel_statistics_, SIGNAL(openCaptureFile(QString, QString)),
this, SLOT(openCaptureFile(QString, QString)));
- connect(this, SIGNAL(displayFilterSuccess(bool)), df_edit, SLOT(displayFilterSuccess(bool)));
file_set_dialog_ = new FileSetDialog(this);
connect(file_set_dialog_, SIGNAL(fileSetOpenCaptureFile(QString)),