mirror of
https://gitlab.com/Theopse/fbi-i18n-zh.git
synced 2025-04-26 11:26:37 +08:00
Add action for deleting a title and its ticket at the same time.
This commit is contained in:
parent
77cbab16a5
commit
d8abb42a1c
@ -36,6 +36,7 @@ void action_install_cdn(linked_list* items, list_item* selected);
|
||||
void action_install_cdn_noprompt(volatile bool* done, ticket_info* info, bool finishedPrompt);
|
||||
|
||||
void action_delete_title(linked_list* items, list_item* selected);
|
||||
void action_delete_title_ticket(linked_list* items, list_item* selected);
|
||||
void action_launch_title(linked_list* items, list_item* selected);
|
||||
void action_extract_smdh(linked_list* items, list_item* selected);
|
||||
void action_import_seed(linked_list* items, list_item* selected);
|
||||
|
@ -15,6 +15,7 @@
|
||||
typedef struct {
|
||||
linked_list* items;
|
||||
list_item* selected;
|
||||
bool ticket;
|
||||
} delete_title_data;
|
||||
|
||||
static void action_delete_title_draw_top(ui_view* view, void* data, float x1, float y1, float x2, float y2) {
|
||||
@ -26,7 +27,11 @@ static void action_delete_title_update(ui_view* view, void* data, float* progres
|
||||
|
||||
title_info* info = (title_info*) deleteData->selected->data;
|
||||
|
||||
Result res = AM_DeleteTitle(info->mediaType, info->titleId);
|
||||
Result res = 0;
|
||||
|
||||
if(R_SUCCEEDED(res = AM_DeleteTitle(info->mediaType, info->titleId)) && deleteData->ticket) {
|
||||
res = AM_DeleteTicket(info->titleId);
|
||||
}
|
||||
|
||||
ui_pop();
|
||||
info_destroy(view);
|
||||
@ -51,7 +56,7 @@ static void action_delete_title_onresponse(ui_view* view, void* data, bool respo
|
||||
}
|
||||
}
|
||||
|
||||
void action_delete_title(linked_list* items, list_item* selected) {
|
||||
static void action_delete_title_internal(linked_list* items, list_item* selected, const char* message, bool ticket) {
|
||||
delete_title_data* data = (delete_title_data*) calloc(1, sizeof(delete_title_data));
|
||||
if(data == NULL) {
|
||||
error_display(NULL, NULL, "Failed to allocate delete title data.");
|
||||
@ -61,6 +66,15 @@ void action_delete_title(linked_list* items, list_item* selected) {
|
||||
|
||||
data->items = items;
|
||||
data->selected = selected;
|
||||
data->ticket = ticket;
|
||||
|
||||
prompt_display("Confirmation", "Delete the selected title?", COLOR_TEXT, true, data, action_delete_title_draw_top, action_delete_title_onresponse);
|
||||
prompt_display("Confirmation", message, COLOR_TEXT, true, data, action_delete_title_draw_top, action_delete_title_onresponse);
|
||||
}
|
||||
|
||||
void action_delete_title(linked_list* items, list_item* selected) {
|
||||
action_delete_title_internal(items, selected, "Delete the selected title?", false);
|
||||
}
|
||||
|
||||
void action_delete_title_ticket(linked_list* items, list_item* selected) {
|
||||
action_delete_title_internal(items, selected, "Delete the selected title and ticket?", true);
|
||||
}
|
@ -14,6 +14,7 @@
|
||||
|
||||
static list_item launch_title = {"Launch Title", COLOR_TEXT, action_launch_title};
|
||||
static list_item delete_title = {"Delete Title", COLOR_TEXT, action_delete_title};
|
||||
static list_item delete_title_ticket = {"Delete Title And Ticket", COLOR_TEXT, action_delete_title_ticket};
|
||||
static list_item extract_smdh = {"Extract SMDH", COLOR_TEXT, action_extract_smdh};
|
||||
static list_item import_seed = {"Import Seed", COLOR_TEXT, action_import_seed};
|
||||
static list_item browse_save_data = {"Browse Save Data", COLOR_TEXT, action_browse_title_save_data};
|
||||
@ -75,6 +76,7 @@ static void titles_action_update(ui_view* view, void* data, linked_list* items,
|
||||
|
||||
if(info->mediaType != MEDIATYPE_GAME_CARD) {
|
||||
linked_list_add(items, &delete_title);
|
||||
linked_list_add(items, &delete_title_ticket);
|
||||
}
|
||||
|
||||
if(!info->twl) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user