SB_STATUS CSbieIni::UpdateTextList(const QString &Setting, const QStringList& List, bool withTemplates) { QStringList OldSettings = GetTextList(Setting, withTemplates); QStringList NewSettings; foreach(const QString& Value, List) { if (!OldSettings.removeOne(Value)) NewSettings.append(Value); } // delete removed or changed settings foreach(const QString& Value, OldSettings) DelValue(Setting, Value); // add new or changed settings foreach(const QString& Value, NewSettings) InsertText(Setting, Value); return SB_OK; }
void COptionsWindow::SaveForced() { QStringList ForceProcess; QStringList ForceProcessDisabled; QStringList ForceFolder; QStringList ForceFolderDisabled; for (int i = 0; i < ui.treeForced->topLevelItemCount(); i++) { QTreeWidgetItem* pItem = ui.treeForced->topLevelItem(i); int Type = pItem->data(0, Qt::UserRole).toInt(); if (Type == (int)eTemplate) continue; // entry from template if (pItem->checkState(0) == Qt::Checked) { switch (Type) { case eProcess: ForceProcess.append(pItem->data(1, Qt::UserRole).toString()); break; case ePath: ForceFolder.append(pItem->data(1, Qt::UserRole).toString()); break; } } else { switch (Type) { case eProcess: ForceProcessDisabled.append(pItem->data(1, Qt::UserRole).toString()); break; case ePath: ForceFolderDisabled.append(pItem->data(1, Qt::UserRole).toString()); break; } } } WriteTextList("ForceProcess", ForceProcess); WriteTextList("ForceProcessDisabled", ForceProcessDisabled); WriteTextList("ForceFolder", ForceFolder); WriteTextList("ForceFolderDisabled", ForceFolderDisabled); m_ForcedChanged = false; }
void COptionsWindow::SaveGroups() { QStringList ProcessGroups; for (int i = 0; i < ui.treeGroups->topLevelItemCount(); i++) { QTreeWidgetItem* pItem = ui.treeGroups->topLevelItem(i); QString GroupName = pItem->data(0, Qt::UserRole).toString(); if (GroupName.isEmpty()) continue; // this is a template entry, dont save QStringList Programs; for (int j = 0; j < pItem->childCount(); j++) Programs.append(pItem->child(j)->data(0, Qt::UserRole).toString()); QString Group = GroupName + "," + Programs.join(","); ProcessGroups.append(Group); } WriteTextList("ProcessGroup", ProcessGroups); m_GroupsChanged = false; }