45 mCount =
rules.count();
46 mRuleGroupList.clear();
47 mRuleGroupList.reserve(
rules.count());
50 const int list_length = m_list.length();
51 for (
const auto &rule :
rules) {
52 RuleSettings *settings;
53 if (i < list_length) {
55 settings = m_list.at(i);
56 settings->setDefaults();
59 settings =
new RuleSettings(this->sharedConfig(), QString::number(i + 1),
this);
60 m_list.append(settings);
63 rule->write(settings);
64 mRuleGroupList.append(settings->currentGroup());
69 for (
int j = m_list.count() - 1; j >=
rules.count(); j--) {
88 for (
const auto &settings : std::as_const(m_list)) {
89 result &= settings->save();
93 for (
const QString &groupName : std::as_const(m_storedGroups)) {
94 if (sharedConfig()->hasGroup(groupName) && !mRuleGroupList.contains(groupName)) {
95 sharedConfig()->deleteGroup(groupName);
98 m_storedGroups = mRuleGroupList;
109 if (mRuleGroupList.isEmpty() && mCount > 0) {
110 mRuleGroupList.reserve(mCount);
111 for (
int i = 1; i <= count(); i++) {
112 mRuleGroupList.append(QString::number(i));
117 mCount = mRuleGroupList.count();
118 m_storedGroups = mRuleGroupList;
120 m_list.reserve(mRuleGroupList.count());
121 for (
const QString &groupName : std::as_const(mRuleGroupList)) {
122 m_list.append(
new RuleSettings(sharedConfig(), groupName,
this));
146 Q_ASSERT(row >= 0 && row < m_list.count() + 1);
148 const QString groupName = generateGroupName();
149 RuleSettings *settings =
new RuleSettings(sharedConfig(), groupName,
this);
150 settings->setDefaults();
152 m_list.insert(row, settings);
153 mRuleGroupList.insert(row, groupName);