Переглянути джерело

UI: Soft-delete scene collections

Instead of actually removing the file, simply rename it to the .bak
version which OBS ignores in most cases. That allows users to recover
accidentally deleted collections more easily, while only taking up a
few kilobytes of disk space at most.
derrod 2 роки тому
батько
коміт
ad5f04e53d
1 змінених файлів з 2 додано та 5 видалено
  1. 2 5
      UI/window-basic-main-scene-collections.cpp

+ 2 - 5
UI/window-basic-main-scene-collections.cpp

@@ -343,11 +343,8 @@ void OBSBasic::on_actionRemoveSceneCollection_triggered()
 		api->on_event(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGING);
 
 	oldFile.insert(0, path);
-	oldFile += ".json";
-
-	os_unlink(oldFile.c_str());
-	oldFile += ".bak";
-	os_unlink(oldFile.c_str());
+	/* os_rename() overwrites if necessary, only the .bak file will remain. */
+	os_rename((oldFile + ".json").c_str(), (oldFile + ".json.bak").c_str());
 
 	Load(newPath.c_str());
 	RefreshSceneCollections();