From f3d127f372e226319de20fe54f18b402758e5372 Mon Sep 17 00:00:00 2001 From: Christian Soffke Date: Sun, 25 May 2025 03:23:49 +0200 Subject: [PATCH] Minor confirm prompt adjustments * Rename LANG_RESET_ASK to LANG_ARE_YOU_SURE, so that it matches the actual language string (translations remain valid), and can be repurposed for generic confirmation prompts, where the first line says "Are you sure?", and the second line reiterates the selected action * Add "Reset Settings" as second line to the prompt shown before resetting settings, instead of just asking "Are you sure?" * Make Shuffle prompt consistent between WPS and Playlist Viewer, and ask whether user is sure they want to Shuffle instead of warning them that the current playlist will be erased, which was a bit misleading * Explicitly say "Cancelled" when user answers NO to erasing the current playlist or to overwriting a file. Improves consistency with other prompts that are displayed for potentially destructive actions, e.g. before items are deleted, renamed, saved, or reset. * PictureFlow: Prompt before rebuilding/updating cache Change-Id: Id8ae36db7187315eb1a374701307e6ab4dcdbd1d --- apps/fileop.c | 4 +++- apps/gui/yesno.c | 31 +++++++++++++++++++++----- apps/gui/yesno.h | 1 + apps/hosted/android/yesno.c | 31 +++++++++++++++++++++----- apps/lang/arabic.lang | 4 ++-- apps/lang/basque.lang | 4 ++-- apps/lang/bulgarian.lang | 4 ++-- apps/lang/catala.lang | 4 ++-- apps/lang/chinese-simp.lang | 4 ++-- apps/lang/chinese-trad.lang | 4 ++-- apps/lang/czech.lang | 4 ++-- apps/lang/dansk.lang | 4 ++-- apps/lang/deutsch.lang | 4 ++-- apps/lang/english-us.lang | 4 ++-- apps/lang/english.lang | 4 ++-- apps/lang/espanol.lang | 4 ++-- apps/lang/finnish.lang | 4 ++-- apps/lang/francais.lang | 4 ++-- apps/lang/galego.lang | 4 ++-- apps/lang/greek.lang | 4 ++-- apps/lang/hebrew.lang | 4 ++-- apps/lang/hrvatski.lang | 4 ++-- apps/lang/italiano.lang | 4 ++-- apps/lang/japanese.lang | 4 ++-- apps/lang/korean.lang | 4 ++-- apps/lang/latviesu.lang | 4 ++-- apps/lang/lietuviu.lang | 4 ++-- apps/lang/magyar.lang | 4 ++-- apps/lang/moldoveneste.lang | 4 ++-- apps/lang/nederlands.lang | 4 ++-- apps/lang/norsk-nynorsk.lang | 4 ++-- apps/lang/norsk.lang | 4 ++-- apps/lang/polski.lang | 4 ++-- apps/lang/portugues-brasileiro.lang | 4 ++-- apps/lang/portugues.lang | 4 ++-- apps/lang/romaneste.lang | 4 ++-- apps/lang/russian.lang | 4 ++-- apps/lang/slovak.lang | 4 ++-- apps/lang/slovenscina.lang | 4 ++-- apps/lang/srpski.lang | 4 ++-- apps/lang/svenska.lang | 4 ++-- apps/lang/tagalog.lang | 4 ++-- apps/lang/thai.lang | 4 ++-- apps/lang/turkce.lang | 4 ++-- apps/lang/ukrainian.lang | 4 ++-- apps/lang/vlaams.lang | 4 ++-- apps/lang/walon.lang | 4 ++-- apps/menus/main_menu.c | 4 ++-- apps/misc.c | 8 ++++++- apps/onplay.c | 2 +- apps/playlist_viewer.c | 2 ++ apps/plugin.c | 1 + apps/plugin.h | 1 + apps/plugins/main_menu_config.c | 17 ++++---------- apps/plugins/pictureflow/pictureflow.c | 9 ++++++++ 55 files changed, 169 insertions(+), 114 deletions(-) diff --git a/apps/fileop.c b/apps/fileop.c index 5c123e2f99..a42cffa8a8 100644 --- a/apps/fileop.c +++ b/apps/fileop.c @@ -510,7 +510,9 @@ int copy_move_fileobject(const char *src_path, const char *dst_path, unsigned in int rc; if (file_exists(dst.path)) { /* If user chooses not to overwrite, cancel */ - if (!yesno_pop(ID2P(LANG_REALLY_OVERWRITE))) { + if (!yesno_pop(ID2P(LANG_REALLY_OVERWRITE))) + { + splash(HZ, ID2P(LANG_CANCEL)); return FORC_NOOVERWRT; } diff --git a/apps/gui/yesno.c b/apps/gui/yesno.c index 7232b315ec..0487a100d8 100644 --- a/apps/gui/yesno.c +++ b/apps/gui/yesno.c @@ -368,14 +368,35 @@ enum yesno_res gui_syncyesno_run(const struct text_message * main_message, main_message, yes_message, no_message); } -/* Function to manipulate all yesno dialogues. - This function needs the prompt text as an argument. */ -bool yesno_pop(const char* text) +static bool yesno_pop_lines(const char *lines[], int line_cnt) { - const char *lines[]={text}; - const struct text_message message={lines, 1}; + const struct text_message message={lines, line_cnt}; bool ret = (gui_syncyesno_run(&message,NULL,NULL)== YESNO_YES); FOR_NB_SCREENS(i) screens[i].clear_viewport(); return ret; } + +/* YES/NO dialog, uses text parameter as prompt */ +bool yesno_pop(const char* text) +{ + const char *lines[]= {text}; + return yesno_pop_lines(lines, 1); +} + +/* YES/NO dialog, asks "Are you sure?", displays + text parameter on second line. + + Says "Cancelled" if answered negatively. +*/ +bool yesno_pop_confirm(const char* text) +{ + bool confirmed; + const char *lines[] = {ID2P(LANG_ARE_YOU_SURE), text}; + confirmed = yesno_pop_lines(lines, 2); + + if (!confirmed) + splash(HZ, ID2P(LANG_CANCEL)); + + return confirmed; +} diff --git a/apps/gui/yesno.h b/apps/gui/yesno.h index 5f67733d79..3c3876238b 100644 --- a/apps/gui/yesno.h +++ b/apps/gui/yesno.h @@ -57,5 +57,6 @@ extern enum yesno_res gui_syncyesno_run_w_tmo( const struct text_message * no_message); bool yesno_pop(const char* text); +bool yesno_pop_confirm(const char* text); #endif /* _GUI_YESNO_H_ */ diff --git a/apps/hosted/android/yesno.c b/apps/hosted/android/yesno.c index af7f5a5c7b..417cbb0fcc 100644 --- a/apps/hosted/android/yesno.c +++ b/apps/hosted/android/yesno.c @@ -130,14 +130,35 @@ enum yesno_res gui_syncyesno_run_w_tmo(int ticks, enum yesno_res tmo_default_res #endif -/* Function to manipulate all yesno dialogues. - This function needs the output text as an argument. */ -bool yesno_pop(const char* text) +static bool yesno_pop_lines(const char *lines[], int line_cnt) { - const char *lines[]={text}; - const struct text_message message={lines, 1}; + const struct text_message message={lines, line_cnt}; bool ret = (gui_syncyesno_run(&message,NULL,NULL)== YESNO_YES); FOR_NB_SCREENS(i) screens[i].clear_viewport(); return ret; } + +/* YES/NO dialog, uses text parameter as prompt */ +bool yesno_pop(const char* text) +{ + const char *lines[]= {text}; + return yesno_pop_lines(lines, 1); +} + +/* YES/NO dialog, asks "Are you sure?", displays + text parameter on second line. + + Says "Cancelled" if answered negatively. +*/ +bool yesno_pop_confirm(const char* text) +{ + bool confirmed; + const char *lines[] = {ID2P(LANG_ARE_YOU_SURE), text}; + confirmed = yesno_pop_lines(lines, 2); + + if (!confirmed) + splash(HZ, ID2P(LANG_CANCEL)); + + return confirmed; +} diff --git a/apps/lang/arabic.lang b/apps/lang/arabic.lang index b240fe9f73..79ec0625a9 100644 --- a/apps/lang/arabic.lang +++ b/apps/lang/arabic.lang @@ -3194,8 +3194,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/basque.lang b/apps/lang/basque.lang index eecaab6512..32298fda24 100644 --- a/apps/lang/basque.lang +++ b/apps/lang/basque.lang @@ -227,8 +227,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/bulgarian.lang b/apps/lang/bulgarian.lang index 967b4361e2..4b251b9cc8 100644 --- a/apps/lang/bulgarian.lang +++ b/apps/lang/bulgarian.lang @@ -231,8 +231,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/catala.lang b/apps/lang/catala.lang index 3e1c44cead..86b0c1408b 100644 --- a/apps/lang/catala.lang +++ b/apps/lang/catala.lang @@ -229,8 +229,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/chinese-simp.lang b/apps/lang/chinese-simp.lang index ca3b40f898..c58ad7cc5c 100644 --- a/apps/lang/chinese-simp.lang +++ b/apps/lang/chinese-simp.lang @@ -8757,8 +8757,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/chinese-trad.lang b/apps/lang/chinese-trad.lang index 1cd5059b8e..2965e0901a 100644 --- a/apps/lang/chinese-trad.lang +++ b/apps/lang/chinese-trad.lang @@ -8944,8 +8944,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/czech.lang b/apps/lang/czech.lang index 4c7873e761..6d8a58d7a0 100644 --- a/apps/lang/czech.lang +++ b/apps/lang/czech.lang @@ -231,8 +231,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/dansk.lang b/apps/lang/dansk.lang index dbb4ed85ea..7daa131241 100644 --- a/apps/lang/dansk.lang +++ b/apps/lang/dansk.lang @@ -9785,8 +9785,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/deutsch.lang b/apps/lang/deutsch.lang index 40d4f56aa2..bf8e22f966 100644 --- a/apps/lang/deutsch.lang +++ b/apps/lang/deutsch.lang @@ -248,8 +248,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/english-us.lang b/apps/lang/english-us.lang index 4755860b82..55ca745900 100644 --- a/apps/lang/english-us.lang +++ b/apps/lang/english-us.lang @@ -225,8 +225,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/english.lang b/apps/lang/english.lang index 6e5179bbf0..64eea420f1 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang @@ -310,8 +310,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/espanol.lang b/apps/lang/espanol.lang index a868b8abf5..3750219c8c 100644 --- a/apps/lang/espanol.lang +++ b/apps/lang/espanol.lang @@ -9156,8 +9156,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/finnish.lang b/apps/lang/finnish.lang index c91e4e0f97..c2ca288949 100644 --- a/apps/lang/finnish.lang +++ b/apps/lang/finnish.lang @@ -9675,8 +9675,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/francais.lang b/apps/lang/francais.lang index eb8c68a8f8..d45916dad8 100644 --- a/apps/lang/francais.lang +++ b/apps/lang/francais.lang @@ -258,8 +258,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/galego.lang b/apps/lang/galego.lang index 39fd44a255..22f68a2321 100644 --- a/apps/lang/galego.lang +++ b/apps/lang/galego.lang @@ -11934,8 +11934,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/greek.lang b/apps/lang/greek.lang index 356bfb4660..191d202c14 100644 --- a/apps/lang/greek.lang +++ b/apps/lang/greek.lang @@ -231,8 +231,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/hebrew.lang b/apps/lang/hebrew.lang index 50ac35dba2..1b68720dcd 100644 --- a/apps/lang/hebrew.lang +++ b/apps/lang/hebrew.lang @@ -233,8 +233,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/hrvatski.lang b/apps/lang/hrvatski.lang index 95157dbd74..92e170ea64 100644 --- a/apps/lang/hrvatski.lang +++ b/apps/lang/hrvatski.lang @@ -227,8 +227,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/italiano.lang b/apps/lang/italiano.lang index 81d7b88dfa..4761b29998 100644 --- a/apps/lang/italiano.lang +++ b/apps/lang/italiano.lang @@ -229,8 +229,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/japanese.lang b/apps/lang/japanese.lang index 42526bff30..c4505a68b3 100644 --- a/apps/lang/japanese.lang +++ b/apps/lang/japanese.lang @@ -234,8 +234,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/korean.lang b/apps/lang/korean.lang index 6c33bf7b98..b92d83f94c 100644 --- a/apps/lang/korean.lang +++ b/apps/lang/korean.lang @@ -242,8 +242,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/latviesu.lang b/apps/lang/latviesu.lang index 3666e7e624..be3fb51b6e 100644 --- a/apps/lang/latviesu.lang +++ b/apps/lang/latviesu.lang @@ -228,8 +228,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/lietuviu.lang b/apps/lang/lietuviu.lang index 44fd386d4a..29702d487b 100644 --- a/apps/lang/lietuviu.lang +++ b/apps/lang/lietuviu.lang @@ -298,8 +298,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/magyar.lang b/apps/lang/magyar.lang index 933a291e5d..1d0eaadc14 100644 --- a/apps/lang/magyar.lang +++ b/apps/lang/magyar.lang @@ -228,8 +228,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/moldoveneste.lang b/apps/lang/moldoveneste.lang index 29ed734254..94f274f51e 100644 --- a/apps/lang/moldoveneste.lang +++ b/apps/lang/moldoveneste.lang @@ -9004,8 +9004,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/nederlands.lang b/apps/lang/nederlands.lang index 69ea427de0..373bd3fb05 100644 --- a/apps/lang/nederlands.lang +++ b/apps/lang/nederlands.lang @@ -8965,8 +8965,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/norsk-nynorsk.lang b/apps/lang/norsk-nynorsk.lang index 084bec9f96..5bbee471ab 100644 --- a/apps/lang/norsk-nynorsk.lang +++ b/apps/lang/norsk-nynorsk.lang @@ -9779,8 +9779,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/norsk.lang b/apps/lang/norsk.lang index afd9898684..0a33aa1003 100644 --- a/apps/lang/norsk.lang +++ b/apps/lang/norsk.lang @@ -10042,8 +10042,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/polski.lang b/apps/lang/polski.lang index 4c9b05e47d..dc927ba47d 100644 --- a/apps/lang/polski.lang +++ b/apps/lang/polski.lang @@ -235,8 +235,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/portugues-brasileiro.lang b/apps/lang/portugues-brasileiro.lang index e9375dfbbe..f4d0e1d221 100644 --- a/apps/lang/portugues-brasileiro.lang +++ b/apps/lang/portugues-brasileiro.lang @@ -230,8 +230,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/portugues.lang b/apps/lang/portugues.lang index 0f8226f90b..f6ef08abd5 100644 --- a/apps/lang/portugues.lang +++ b/apps/lang/portugues.lang @@ -9203,8 +9203,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/romaneste.lang b/apps/lang/romaneste.lang index 45ff06ec4f..120b89e0ac 100644 --- a/apps/lang/romaneste.lang +++ b/apps/lang/romaneste.lang @@ -9004,8 +9004,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/russian.lang b/apps/lang/russian.lang index 50d21b091e..7e14c4ba5e 100644 --- a/apps/lang/russian.lang +++ b/apps/lang/russian.lang @@ -9103,8 +9103,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/slovak.lang b/apps/lang/slovak.lang index 28e5fc159d..2d85cb8ba2 100644 --- a/apps/lang/slovak.lang +++ b/apps/lang/slovak.lang @@ -227,8 +227,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/slovenscina.lang b/apps/lang/slovenscina.lang index 32a5345ce8..7d13456719 100644 --- a/apps/lang/slovenscina.lang +++ b/apps/lang/slovenscina.lang @@ -11553,8 +11553,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/srpski.lang b/apps/lang/srpski.lang index 949b6db840..a030641b13 100644 --- a/apps/lang/srpski.lang +++ b/apps/lang/srpski.lang @@ -241,8 +241,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/svenska.lang b/apps/lang/svenska.lang index dd2c35a4ed..02093cfff9 100644 --- a/apps/lang/svenska.lang +++ b/apps/lang/svenska.lang @@ -234,8 +234,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/tagalog.lang b/apps/lang/tagalog.lang index 72cbf01aa3..9ce6359ad0 100644 --- a/apps/lang/tagalog.lang +++ b/apps/lang/tagalog.lang @@ -227,8 +227,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/thai.lang b/apps/lang/thai.lang index bcaa4b1490..8b6ac990d2 100644 --- a/apps/lang/thai.lang +++ b/apps/lang/thai.lang @@ -228,8 +228,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/turkce.lang b/apps/lang/turkce.lang index 449f723392..a2b1d3b13b 100644 --- a/apps/lang/turkce.lang +++ b/apps/lang/turkce.lang @@ -217,8 +217,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/ukrainian.lang b/apps/lang/ukrainian.lang index 058e36f4f4..26e97209f4 100644 --- a/apps/lang/ukrainian.lang +++ b/apps/lang/ukrainian.lang @@ -228,8 +228,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/vlaams.lang b/apps/lang/vlaams.lang index c9158cc0a9..f54e171dbf 100644 --- a/apps/lang/vlaams.lang +++ b/apps/lang/vlaams.lang @@ -9651,8 +9651,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/lang/walon.lang b/apps/lang/walon.lang index 06b1b623ad..7318d88de0 100644 --- a/apps/lang/walon.lang +++ b/apps/lang/walon.lang @@ -232,8 +232,8 @@ - id: LANG_RESET_ASK - desc: confirm to reset settings + id: LANG_ARE_YOU_SURE + desc: confirm action user: core *: "Are You Sure?" diff --git a/apps/menus/main_menu.c b/apps/menus/main_menu.c index 8805b52944..4a0b8f2eb5 100644 --- a/apps/menus/main_menu.c +++ b/apps/menus/main_menu.c @@ -57,7 +57,7 @@ static int show_info(void); static int reset_settings(void) { - static const char *lines[]={ID2P(LANG_RESET_ASK)}; + static const char *lines[]={ID2P(LANG_ARE_YOU_SURE), ID2P(LANG_RESET)}; static const char *yes_lines[]={ ID2P(LANG_SETTINGS), ID2P(LANG_RESET_DONE_CLEAR) @@ -66,7 +66,7 @@ static int reset_settings(void) ID2P(LANG_SETTINGS), ID2P(LANG_CANCEL) }; - static const struct text_message message={lines, 1}; + static const struct text_message message={lines, 2}; static const struct text_message yes_message={yes_lines, 2}; static const struct text_message no_message={no_lines, 2}; diff --git a/apps/misc.c b/apps/misc.c index 7cc2d5fcf6..82aec68b47 100644 --- a/apps/misc.c +++ b/apps/misc.c @@ -196,7 +196,13 @@ bool warn_on_pl_erase(void) {ID2P(LANG_WARN_ERASEDYNPLAYLIST_PROMPT)}; static const struct text_message message={lines, 1}; - return (gui_syncyesno_run(&message, NULL, NULL) == YESNO_YES); + if (gui_syncyesno_run(&message, NULL, NULL) == YESNO_YES) + return true; + else + { + splash(HZ, ID2P(LANG_CANCEL)); + return false; + } } else return true; diff --git a/apps/onplay.c b/apps/onplay.c index 8a1d676eb6..f149aae63a 100644 --- a/apps/onplay.c +++ b/apps/onplay.c @@ -183,7 +183,7 @@ static int bookmark_menu_callback(int action, /* CONTEXT_WPS playlist options */ static bool shuffle_playlist(void) { - if (!warn_on_pl_erase()) + if (!yesno_pop_confirm(ID2P(LANG_SHUFFLE))) return false; playlist_sort(NULL, true); playlist_randomise(NULL, current_tick, true); diff --git a/apps/playlist_viewer.c b/apps/playlist_viewer.c index f51fdf3def..e5ed132c57 100644 --- a/apps/playlist_viewer.c +++ b/apps/playlist_viewer.c @@ -774,6 +774,8 @@ static enum pv_context_result context_menu(int index) return show_track_info(current_track); case 5: /* shuffle */ + if (!yesno_pop_confirm(ID2P(LANG_SHUFFLE))) + return PV_CONTEXT_UNCHANGED; playlist_sort(viewer.playlist, !viewer.playlist); playlist_randomise(viewer.playlist, current_tick, !viewer.playlist); viewer.selected_track = 0; diff --git a/apps/plugin.c b/apps/plugin.c index dd92791622..9233cc7bb5 100644 --- a/apps/plugin.c +++ b/apps/plugin.c @@ -844,6 +844,7 @@ static const struct plugin_api rockbox_api = { the API gets incompatible */ add_playbacklog, &device_battery_tables, + yesno_pop_confirm, }; static int plugin_buffer_handle; diff --git a/apps/plugin.h b/apps/plugin.h index 9739533a0a..5be1147cab 100644 --- a/apps/plugin.h +++ b/apps/plugin.h @@ -993,6 +993,7 @@ struct plugin_api { the API gets incompatible */ void (*add_playbacklog)(struct mp3entry *id3); struct battery_tables_t *device_battery_tables; + bool (*yesno_pop_confirm)(const char* text); }; /* plugin header */ diff --git a/apps/plugins/main_menu_config.c b/apps/plugins/main_menu_config.c index 53b4c826d2..78a1578b8a 100644 --- a/apps/plugins/main_menu_config.c +++ b/apps/plugins/main_menu_config.c @@ -234,20 +234,11 @@ enum plugin_status plugin_start(const void* parameter) rb->gui_synclist_select_item(&list, cur_sel + 1); /* speaks */ changed = true; break; - case 2:; - static const char *lines[] = - {ID2P(LANG_RESET_ASK), ID2P(LANG_LOAD_DEFAULT_CONFIGURATION)}; - static const struct text_message message={lines, 2}; - - switch(rb->gui_syncyesno_run(&message, NULL, NULL)) + case 2: + if (rb->yesno_pop_confirm(ID2P(LANG_LOAD_DEFAULT_CONFIGURATION))) { - case YESNO_YES: - rb->root_menu_set_default(&rb->global_settings->root_menu_customized, NULL); - load_from_cfg(); - break; - default: - rb->splash(HZ, ID2P(LANG_CANCEL)); - break; + rb->root_menu_set_default(&rb->global_settings->root_menu_customized, NULL); + load_from_cfg(); } /* fall-through */ default: diff --git a/apps/plugins/pictureflow/pictureflow.c b/apps/plugins/pictureflow/pictureflow.c index 61fe43c274..c50725d30f 100644 --- a/apps/plugins/pictureflow/pictureflow.c +++ b/apps/plugins/pictureflow/pictureflow.c @@ -3590,6 +3590,11 @@ static int display_settings_menu(void) rb->set_bool(rb->str(LANG_RESIZE_COVERS), &pf_cfg.resize); if (old_val == pf_cfg.resize) /* changed? */ break; + else if (!rb->yesno_pop_confirm(ID2P(LANG_RESIZE_COVERS))) + { + pf_cfg.resize = old_val; + break; + } pf_cfg.update_albumart = false; pf_cfg.cache_version = CACHE_REBUILD; @@ -3766,6 +3771,8 @@ static int main_menu(void) break; #endif case PF_REBUILD_CACHE: + if (!rb->yesno_pop_confirm(ID2P(LANG_REBUILD_CACHE))) + break; pf_cfg.update_albumart = false; pf_cfg.cache_version = CACHE_REBUILD; rb->remove(EMPTY_SLIDE); @@ -3773,6 +3780,8 @@ static int main_menu(void) CONFIG_NUM_ITEMS, CONFIG_VERSION); return -3; /* re-init */ case PF_UPDATE_CACHE: + if (!rb->yesno_pop_confirm(ID2P(LANG_UPDATE_CACHE))) + break; pf_cfg.update_albumart = true; pf_cfg.cache_version = CACHE_REBUILD; rb->remove(EMPTY_SLIDE);