Skip to content

Commit 304eb87

Browse files
committed
refactor pt. 1
1 parent 2dead24 commit 304eb87

File tree

2 files changed

+19
-38
lines changed

2 files changed

+19
-38
lines changed

src/ui/ModifyServerPopup.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,13 +167,13 @@ void ModifyServerPopup::onSave(cocos2d::CCObject* sender) {
167167
if (m_isNew) {
168168
auto registerRes = gdpsMain->registerServer(m_server);
169169
if (!registerRes) {
170-
MDPopup::create("Error creating server!", registerRes.unwrapErr(), "OK");
170+
MDPopup::create("Error creating server!", registerRes.unwrapErr(), "OK")->show();
171171
return;
172172
}
173173
} else {
174174
auto modifyRes = gdpsMain->modifyRegisteredServer(m_server);
175175
if (!modifyRes) {
176-
MDPopup::create("Error modifying server!", modifyRes.unwrapErr(), "OK");
176+
MDPopup::create("Error modifying server!", modifyRes.unwrapErr(), "OK")->show();
177177
return;
178178
}
179179
}

src/ui/ServerNode.cpp

Lines changed: 17 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -246,50 +246,31 @@ void ServerNode::onEdit(CCObject *sender) {
246246

247247
void ServerNode::onDelete(CCObject *sender) {
248248
if (m_locked) return;
249-
createQuickPopup("Delete Server", fmt::format("Are you sure you want to delete {}? This will delete your save data for the server.", m_server.name), "No", "Yes", [this](auto, bool second) {
250-
if (second) {
249+
createQuickPopup(
250+
"Delete Server",
251+
fmt::format("Are you sure you want to delete {}? This will delete your save data for the server.", m_server.name),
252+
"No", "Yes",
253+
[this](auto, bool yes) {
254+
if (!yes) return;
255+
251256
auto main = GDPSMain::get();
252-
main->m_shouldSaveGameData = false;
253-
auto serverPath = geode::dirs::getSaveDir() / "gdpses" / m_server.saveDir;
254-
auto gdpsesDir = geode::dirs::getSaveDir() / "gdpses";
255-
std::error_code err;
256-
if (std::filesystem::exists(serverPath, err)) {
257-
if (err) {
258-
log::warn("Failed to check existence of {}: {}", serverPath, err.message());
259-
MDPopup::create("Error", fmt::format("Failed to check save data for {}: {}", m_server.name, err.message()), "OK")->show();
260-
} else {
261-
std::filesystem::path canonicalServerPath;
262-
canonicalServerPath.clear();
263-
canonicalServerPath = std::filesystem::canonical(serverPath, err);
264-
if (err) {
265-
log::warn("Failed to get canonical path for {}: {}", serverPath, err.message());
266-
MDPopup::create("Error", fmt::format("Failed to resolve save data path for {}: {}", m_server.name, err.message()), "OK")->show();
267-
} else if (canonicalServerPath.string().starts_with(gdpsesDir.string()) && serverPath != gdpsesDir) {
268-
log::debug("Deleting {}", serverPath);
269-
std::filesystem::remove_all(serverPath, err);
270-
if (err) {
271-
log::warn("Failed to delete server path {}: {}", serverPath, err.message());
272-
MDPopup::create("Error", fmt::format("Failed to delete save data for {}: {}", m_server.name, err.message()), "OK")->show();
273-
}
274-
} else {
275-
log::warn("Attempted to delete a path outside or equal to the gdpses directory: {}", serverPath);
276-
MDPopup::create("Did not delete save", fmt::format("To prevent unintentional extra data loss, your save was not deleted - only saves within {} will be deleted. If you want to delete this data, do it manually.", gdpsesDir), "OK")->show();
277-
}
278-
}
279-
} else if (err) {
280-
log::warn("Failed to check existence of {}: {}", serverPath, err.message());
281-
MDPopup::create("Error", fmt::format("Failed to check save data for {}: {}", m_server.name, err.message()), "OK")->show();
257+
auto res = main->deleteServer(m_server);
258+
259+
if (!res) {
260+
MDPopup::create("Error!", res.unwrapErr(), "OK")->show();
282261
}
262+
283263
if (m_listLayer->m_selectedServer == m_server.id) {
284264
m_listLayer->m_selectedServer = -2;
285265
Mod::get()->setSavedValue("current", -2);
286-
GDPSMain::get()->m_shouldSaveGameData = false;
266+
main->m_shouldSaveGameData = false;
267+
} else {
268+
main->m_shouldSaveGameData = true;
287269
}
288-
main->m_servers.erase(m_server.id);
289-
main->save();
270+
290271
m_listLayer->updateList();
291272
}
292-
});
273+
);
293274
}
294275

295276
void ServerNode::setEditing(bool editing) {

0 commit comments

Comments
 (0)