mirror of
https://gitlab.com/Theopse/fbi-i18n-zh.git
synced 2025-04-06 03:58:02 +08:00
Add option to delete ext save data, initial work on option to delete system save data.
This commit is contained in:
parent
c4bd7f89b3
commit
061dd0209f
@ -3,10 +3,11 @@
|
||||
#include "../task/task.h"
|
||||
|
||||
void action_browse_boss_ext_save_data(ext_save_data_info* info);
|
||||
|
||||
void action_browse_user_ext_save_data(ext_save_data_info* info);
|
||||
void action_delete_ext_save_data(ext_save_data_info* info);
|
||||
|
||||
void action_browse_system_save_data(system_save_data_info* info);
|
||||
void action_delete_system_save_data(system_save_data_info* info);
|
||||
|
||||
void action_install_cias_nand(file_info* info);
|
||||
void action_install_cias_sd(file_info* info);
|
||||
|
43
source/ui/section/action/deleteextsavedata.c
Normal file
43
source/ui/section/action/deleteextsavedata.c
Normal file
@ -0,0 +1,43 @@
|
||||
#include <3ds.h>
|
||||
|
||||
#include "action.h"
|
||||
#include "../../error.h"
|
||||
#include "../../progressbar.h"
|
||||
#include "../../prompt.h"
|
||||
#include "../task/task.h"
|
||||
|
||||
static void action_delete_ext_save_data_success_onresponse(ui_view* view, void* data, bool response) {
|
||||
prompt_destroy(view);
|
||||
}
|
||||
|
||||
static void action_delete_ext_save_data_update(ui_view* view, void* data, float* progress, char* progressText) {
|
||||
ext_save_data_info* info = (ext_save_data_info*) data;
|
||||
|
||||
FS_ExtSaveDataInfo extInfo = {.mediaType = info->mediaType, .saveId = info->extSaveDataId};
|
||||
Result res = FSUSER_DeleteExtSaveData(extInfo);
|
||||
if(R_FAILED(res)) {
|
||||
progressbar_destroy(view);
|
||||
ui_pop();
|
||||
|
||||
error_display_res(info, ui_draw_ext_save_data_info, res, "Failed to delete ext save data.");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
progressbar_destroy(view);
|
||||
ui_pop();
|
||||
|
||||
ui_push(prompt_create("Success", "Ext save data deleted.", 0xFF000000, false, info, NULL, ui_draw_ext_save_data_info, action_delete_ext_save_data_success_onresponse));
|
||||
}
|
||||
|
||||
static void action_delete_ext_save_data_onresponse(ui_view* view, void* data, bool response) {
|
||||
prompt_destroy(view);
|
||||
|
||||
if(response) {
|
||||
ui_push(progressbar_create("Deleting Ext Save Data", "", data, action_delete_ext_save_data_update, ui_draw_ext_save_data_info));
|
||||
}
|
||||
}
|
||||
|
||||
void action_delete_ext_save_data(ext_save_data_info* info) {
|
||||
ui_push(prompt_create("Confirmation", "Delete the selected ext save data?", 0xFF000000, true, info, NULL, ui_draw_ext_save_data_info, action_delete_ext_save_data_onresponse));
|
||||
}
|
42
source/ui/section/action/deletesystemsavedata.c
Normal file
42
source/ui/section/action/deletesystemsavedata.c
Normal file
@ -0,0 +1,42 @@
|
||||
#include <3ds.h>
|
||||
|
||||
#include "action.h"
|
||||
#include "../../error.h"
|
||||
#include "../../progressbar.h"
|
||||
#include "../../prompt.h"
|
||||
|
||||
static void action_delete_system_save_data_success_onresponse(ui_view* view, void* data, bool response) {
|
||||
prompt_destroy(view);
|
||||
}
|
||||
|
||||
static void action_delete_system_save_data_update(ui_view* view, void* data, float* progress, char* progressText) {
|
||||
system_save_data_info* info = (system_save_data_info*) data;
|
||||
|
||||
FS_SystemSaveDataInfo sysInfo = *(FS_SystemSaveDataInfo*) &info->systemSaveDataId;
|
||||
Result res = FSUSER_DeleteSystemSaveData(sysInfo);
|
||||
if(R_FAILED(res)) {
|
||||
progressbar_destroy(view);
|
||||
ui_pop();
|
||||
|
||||
error_display_res(info, ui_draw_system_save_data_info, res, "Failed to delete system save data.");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
progressbar_destroy(view);
|
||||
ui_pop();
|
||||
|
||||
ui_push(prompt_create("Success", "System save data deleted.", 0xFF000000, false, info, NULL, ui_draw_system_save_data_info, action_delete_system_save_data_success_onresponse));
|
||||
}
|
||||
|
||||
static void action_delete_system_save_data_onresponse(ui_view* view, void* data, bool response) {
|
||||
prompt_destroy(view);
|
||||
|
||||
if(response) {
|
||||
ui_push(progressbar_create("Deleting System Save Data", "", data, action_delete_system_save_data_update, ui_draw_system_save_data_info));
|
||||
}
|
||||
}
|
||||
|
||||
void action_delete_system_save_data(system_save_data_info* info) {
|
||||
ui_push(prompt_create("Confirmation", "Delete the selected system save data?", 0xFF000000, true, info, NULL, ui_draw_system_save_data_info, action_delete_system_save_data_onresponse));
|
||||
}
|
@ -16,12 +16,13 @@ typedef struct {
|
||||
bool populated;
|
||||
} extsavedata_data;
|
||||
|
||||
#define EXTSAVEDATA_ACTION_COUNT 2
|
||||
#define EXTSAVEDATA_ACTION_COUNT 3
|
||||
|
||||
static u32 extsavedata_action_count = EXTSAVEDATA_ACTION_COUNT;
|
||||
static list_item extsavedata_action_items[EXTSAVEDATA_ACTION_COUNT] = {
|
||||
{"Browse User Save Data", 0xFF000000, action_browse_user_ext_save_data},
|
||||
{"Browse SpotPass Save Data", 0xFF000000, action_browse_boss_ext_save_data},
|
||||
{"Delete Save Data", 0xFF000000, action_delete_ext_save_data},
|
||||
};
|
||||
|
||||
static void extsavedata_action_draw_top(ui_view* view, void* data, float x1, float y1, float x2, float y2, list_item* selected) {
|
||||
|
@ -16,11 +16,12 @@ typedef struct {
|
||||
bool populated;
|
||||
} systemsavedata_data;
|
||||
|
||||
#define SYSTEMSAVEDATA_ACTION_COUNT 1
|
||||
#define SYSTEMSAVEDATA_ACTION_COUNT 2
|
||||
|
||||
static u32 systemsavedata_action_count = SYSTEMSAVEDATA_ACTION_COUNT;
|
||||
static list_item systemsavedata_action_items[SYSTEMSAVEDATA_ACTION_COUNT] = {
|
||||
{"Browse Save Data", 0xFF000000, action_browse_system_save_data},
|
||||
{"Delete Save Data", 0xFF000000, action_delete_system_save_data},
|
||||
};
|
||||
|
||||
static void systemsavedata_action_draw_top(ui_view* view, void* data, float x1, float y1, float x2, float y2, list_item* selected) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user