void SetInstalled(const ResourcePack& pack, bool installed) { IniFile file = GetPackConfig(); auto* install = file.GetOrCreateSection("Installed"); if (installed) install->Set(pack.GetManifest()->GetID(), installed); else install->Delete(pack.GetManifest()->GetID()); file.Save(packs_path); }
bool Remove(ResourcePack& pack) { const auto result = pack.Uninstall(File::GetUserPath(D_USER_IDX)); if (!result) return false; auto pack_iterator = std::find(packs.begin(), packs.end(), pack); if (pack_iterator == packs.end()) return false; std::string filename; IniFile file = GetPackConfig(); auto* order = file.GetOrCreateSection("Order"); order->Delete(pack.GetManifest()->GetID()); int offset = pack_iterator - packs.begin(); for (int i = offset + 1; i < static_cast<int>(packs.size()); i++) order->Set(packs[i].GetManifest()->GetID(), i - 1); file.Save(packs_path); packs.erase(pack_iterator); return true; }
bool IsInstalled(const ResourcePack& pack) { IniFile file = GetPackConfig(); auto* install = file.GetOrCreateSection("Installed"); bool installed; install->Get(pack.GetManifest()->GetID(), &installed, false); return installed; }