16 const QString §ion,
18 const QString &description)
24 , m_description(description)
27 , m_policy(std::make_unique<
RulePolicy>(policyType))
35 m_value = typedValue(QVariant());
36 m_suggestedValue = QVariant();
37 m_policy->resetValue();
39 m_options->resetValue();
85 return m_flags.testFlag(flag);
90 m_flags.setFlag(flag, active);
100 if (m_options && m_type ==
Option) {
101 return m_options->value();
108 if (m_options && m_type ==
Option) {
109 m_options->setValue(
value);
111 m_value = typedValue(
value);
116 return m_suggestedValue;
121 m_suggestedValue =
value.isNull() ? QVariant() : typedValue(
value);
129 return QVariant::fromValue(m_options.get());
138 m_options = std::make_unique<OptionsModel>(QList<OptionsModel::Data>{}, m_type ==
NetTypes);
140 m_options->updateModelData(data);
141 m_options->setValue(m_value);
146 return m_policy->value();
151 m_policy->setValue(
policy);
156 return m_policy->type();
161 return QVariant::fromValue(m_policy.get());
166 return m_policy->policyKey(m_key);
169QVariant RuleItem::typedValue(
const QVariant &value)
const
176 return value.toBool();
179 return value.toInt();
181 const uint typesMask = m_options ?
value.toUInt() & m_options->allOptionsMask() : 0;
182 if (typesMask == 0 || typesMask == m_options->allOptionsMask()) {
188 const QPoint point =
value.toPoint();
192 return value.toSize();
194 if (
value.type() == QVariant::StringList && !
value.toStringList().isEmpty()) {
195 return value.toStringList().at(0).trimmed();
197 return value.toString().trimmed();
199 return value.toString();
201 return value.toStringList();
208#include "moc_ruleitem.cpp"
RulePolicy::Type policyType() const
QString description() const
QVariant suggestedValue() const
void setOptionsData(const QList< OptionsModel::Data > &data)
void setEnabled(bool enabled)
void setPolicy(int policy)
bool hasFlag(RuleItem::Flags flag) const
void setValue(QVariant value)
QVariant policyModel() const
QString policyKey() const
void setFlag(RuleItem::Flags flag, bool active=true)
void setSuggestedValue(QVariant value)
const QPoint invalidPoint(INT_MIN, INT_MIN)