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);