mirror of
https://gitlab.com/Theopse/fbi-i18n-zh.git
synced 2025-04-06 03:58:02 +08:00
Avoid confirmation text going off screen, show percent progress on install screen, keep selector visible during install/delete.
This commit is contained in:
parent
da078148bd
commit
afd51caf8d
@ -28,16 +28,14 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
} else {
|
||||
if(mode == INSTALL) {
|
||||
if(uiPromptOperation(mode, targetInstall)) {
|
||||
screen_clear_all();
|
||||
if(uiPromptOperation(mode)) {
|
||||
uiDisplayResult(true, app_install(destination, targetInstall, &uiDisplayInstallProgress));
|
||||
}
|
||||
|
||||
free(targetInstall);
|
||||
} else {
|
||||
char* str = sdprintf("%08lx - %s, %s, %s", targetDelete.uniqueId, targetDelete.productCode, app_get_platform_name(targetDelete.platform), app_get_category_name(targetDelete.category));
|
||||
if(uiPromptOperation(mode, str)) {
|
||||
screen_clear_all();
|
||||
if(uiPromptOperation(mode)) {
|
||||
uiDisplayDeleting();
|
||||
uiDisplayResult(false, app_delete(destination, targetDelete));
|
||||
}
|
||||
|
@ -308,13 +308,14 @@ UIResult uiSelectTitle(App* selected, MediaType* destination, Mode* mode) {
|
||||
}
|
||||
|
||||
bool uiDisplayInstallProgress(int progress) {
|
||||
char* msg = strdup("Installing: [ ]");
|
||||
char* msg = sdprintf("Installing: [ ] %03d%%", progress);
|
||||
const char* cancel = "Press B to cancel.";
|
||||
for(int pos = 13; pos < 13 + (progress / 4); pos++) {
|
||||
msg[pos] = '|';
|
||||
}
|
||||
|
||||
screen_begin_draw_info();
|
||||
screen_clear(0, 0, 0);
|
||||
screen_draw_string(msg, (screen_get_width() - screen_get_str_width(msg)) / 2, (screen_get_height() - screen_get_str_height(msg)) / 2, 255, 255, 255);
|
||||
screen_draw_string(cancel, (screen_get_width() - screen_get_str_width(cancel)) / 2, (screen_get_height() - screen_get_str_height(msg)) / 2 + (screen_get_str_height(msg) * 2), 255, 255, 255);
|
||||
screen_end_draw();
|
||||
@ -329,6 +330,7 @@ bool uiDisplayInstallProgress(int progress) {
|
||||
void uiDisplayDeleting() {
|
||||
const char* msg = "Deleting title...";
|
||||
screen_begin_draw_info();
|
||||
screen_clear(0, 0, 0);
|
||||
screen_draw_string(msg, (screen_get_width() - screen_get_str_width(msg)) / 2, (screen_get_height() - screen_get_str_height(msg)) / 2, 255, 255, 255);
|
||||
screen_end_draw();
|
||||
screen_swap_buffers();
|
||||
@ -350,8 +352,8 @@ void uiDisplayResult(bool install, bool state) {
|
||||
}
|
||||
}
|
||||
|
||||
bool uiPromptOperation(Mode mode, char* name) {
|
||||
char* msg = sdprintf("%s %s?", mode == INSTALL ? "Install" : "Delete", name);
|
||||
bool uiPromptOperation(Mode mode) {
|
||||
char* msg = sdprintf("%s the selected title?", mode == INSTALL ? "Install" : "Delete");
|
||||
const char* prompt = "Press A to confirm, B to cancel.";
|
||||
while(platform_is_running()) {
|
||||
input_poll();
|
||||
|
@ -21,6 +21,6 @@ UIResult uiSelectTitle(App* selected, MediaType* destination, Mode* mode);
|
||||
bool uiDisplayInstallProgress(int progress);
|
||||
void uiDisplayDeleting();
|
||||
void uiDisplayResult(bool install, bool state);
|
||||
bool uiPromptOperation(Mode mode, char* name);
|
||||
bool uiPromptOperation(Mode mode);
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user