3 * Wireshark - Network traffic analyzer
4 * By Gerald Combs <gerald@wireshark.org>
5 * Copyright 1998 Gerald Combs
7 * SPDX-License-Identifier: GPL-2.0-or-later*/
9 #include "filter_action.h"
11 FilterAction::FilterAction(QObject *parent, FilterAction::Action action, FilterAction::ActionType type, FilterAction::ActionDirection direction) :
17 setText(actionDirectionName(direction));
20 FilterAction::FilterAction(QObject *parent, FilterAction::Action action, FilterAction::ActionType type) :
24 direction_(ActionDirectionAToAny)
26 setText(actionTypeName(type));
29 FilterAction::FilterAction(QObject *parent, FilterAction::Action action) :
32 type_(ActionTypePlain),
33 direction_(ActionDirectionAToAny)
35 setText(actionName(action));
38 const QList<FilterAction::Action> FilterAction::actions() {
39 static const QList<Action> actions_ = QList<Action>()
49 const QString FilterAction::actionName(Action action) {
52 return QObject::tr("Apply as Filter");
55 return QObject::tr("Prepare a Filter");
58 return QObject::tr("Find");
61 return QObject::tr("Colorize");
64 return QObject::tr("Look Up");
67 return QObject::tr("Copy");
70 return QObject::tr("UNKNOWN");
76 const QList<FilterAction::ActionType> FilterAction::actionTypes(Action filter_action)
78 static const QList<ActionType> action_types_ = QList<ActionType>()
86 static const QList<ActionType> simple_action_types_ = QList<ActionType>()
90 switch (filter_action) {
93 return simple_action_types_;
101 const QString FilterAction::actionTypeName(ActionType type) {
103 case ActionTypePlain:
104 return QObject::tr("Selected");
107 return QObject::tr("Not Selected");
110 return QObject::tr(UTF8_HORIZONTAL_ELLIPSIS "and Selected");
113 return QObject::tr(UTF8_HORIZONTAL_ELLIPSIS "or Selected");
115 case ActionTypeAndNot:
116 return QObject::tr(UTF8_HORIZONTAL_ELLIPSIS "and not Selected");
118 case ActionTypeOrNot:
119 return QObject::tr(UTF8_HORIZONTAL_ELLIPSIS "or not Selected");
122 return QObject::tr("UNKNOWN");
128 const QList<FilterAction::ActionDirection> FilterAction::actionDirections()
130 static const QList<FilterAction::ActionDirection> action_directions_ = QList<ActionDirection>()
131 << ActionDirectionAToFromB
132 << ActionDirectionAToB
133 << ActionDirectionAFromB
134 << ActionDirectionAToFromAny
135 << ActionDirectionAToAny
136 << ActionDirectionAFromAny
137 << ActionDirectionAnyToFromB
138 << ActionDirectionAnyToB
139 << ActionDirectionAnyFromB;
140 return action_directions_;
143 const QString FilterAction::actionDirectionName(ActionDirection direction) {
145 case ActionDirectionAToFromB:
146 return QObject::tr("A " UTF8_LEFT_RIGHT_ARROW " B");
148 case ActionDirectionAToB:
149 return QObject::tr("A " UTF8_RIGHTWARDS_ARROW " B");
151 case ActionDirectionAFromB:
152 return QObject::tr("B " UTF8_RIGHTWARDS_ARROW " A");
154 case ActionDirectionAToFromAny:
155 return QObject::tr("A " UTF8_LEFT_RIGHT_ARROW " Any");
157 case ActionDirectionAToAny:
158 return QObject::tr("A " UTF8_RIGHTWARDS_ARROW " Any");
160 case ActionDirectionAFromAny:
161 return QObject::tr("Any " UTF8_RIGHTWARDS_ARROW " A");
163 case ActionDirectionAnyToFromB:
164 return QObject::tr("Any " UTF8_LEFT_RIGHT_ARROW " B");
166 case ActionDirectionAnyToB:
167 return QObject::tr("Any " UTF8_RIGHTWARDS_ARROW " B");
169 case ActionDirectionAnyFromB:
170 return QObject::tr("B " UTF8_RIGHTWARDS_ARROW " Any");
173 return QObject::tr("UNKNOWN");
184 * indent-tabs-mode: nil
187 * ex: set shiftwidth=4 tabstop=8 expandtab:
188 * :indentSize=4:tabSize=8:noTabs=true: