diff --git a/src/include/86box/language.h b/src/include/86box/language.h index 451811964..180b39b37 100644 --- a/src/include/86box/language.h +++ b/src/include/86box/language.h @@ -114,6 +114,9 @@ #define IDS_2138 2138 // "Don't Reset" #define IDS_2139 2139 // "MO images (*.IM?)\0*.IM?..." #define IDS_2140 2140 // "CD-ROM images (*.ISO;*.CU.." +#define IDS_2141 2141 // "Save" +#define IDS_2142 2142 // "Don't save" +#define IDS_2143 2143 // "This will hard reset the virtual..." #define IDS_4096 4096 // "Hard disk (%s)" #define IDS_4097 4097 // "%01i:%01i" @@ -221,7 +224,7 @@ #define IDS_LANG_ENUS IDS_7168 -#define STR_NUM_2048 93 +#define STR_NUM_2048 96 #define STR_NUM_3072 11 #define STR_NUM_4096 39 #define STR_NUM_4352 6 diff --git a/src/include/86box/ui.h b/src/include/86box/ui.h index 1c4c5aee1..15950c6e6 100644 --- a/src/include/86box/ui.h +++ b/src/include/86box/ui.h @@ -34,6 +34,7 @@ extern "C" { #define MBX_ERROR 2 #define MBX_QUESTION 3 #define MBX_QUESTION_YN 4 +#define MBX_QUESTION_OK 8 #define MBX_QMARK 0x10 #define MBX_WARNING 0x20 #define MBX_FATAL 0x40 diff --git a/src/win/86Box.rc b/src/win/86Box.rc index c0bb24bc8..007d12b07 100644 --- a/src/win/86Box.rc +++ b/src/win/86Box.rc @@ -1038,6 +1038,9 @@ BEGIN IDS_2138 "Don't reset" IDS_2139 "MO images (*.IM?;*.MDI)\0*.IM?;*.MDI\0All files (*.*)\0*.*\0" IDS_2140 "CD-ROM images (*.ISO;*.CUE)\0*.ISO;*.CUE\0All files (*.*)\0*.*\0" + IDS_2141 "Save" + IDS_2142 "Don't save" + IDS_2143 "This will hard reset the virtual machine." END STRINGTABLE DISCARDABLE diff --git a/src/win/win_dialog.c b/src/win/win_dialog.c index 1e48b7d40..83f19b4f1 100644 --- a/src/win/win_dialog.c +++ b/src/win/win_dialog.c @@ -100,13 +100,14 @@ ui_msgbox_ex(int flags, void *header, void *message, void *btn1, void *btn2, voi case MBX_QUESTION: /* question */ case MBX_QUESTION_YN: + case MBX_QUESTION_OK: if (!btn1) /* replace default "OK" button with "Yes" button */ - tdconfig.dwCommonButtons = TDCBF_YES_BUTTON; + tdconfig.dwCommonButtons = (flags & MBX_QUESTION_OK) ? TDCBF_OK_BUTTON : TDCBF_YES_BUTTON; if (btn2) /* "No" button */ tdbuttons[tdconfig.cButtons++] = tdb_no; else - tdconfig.dwCommonButtons |= TDCBF_NO_BUTTON; + tdconfig.dwCommonButtons |= (flags & MBX_QUESTION_OK) ? TDCBF_CANCEL_BUTTON : TDCBF_NO_BUTTON; if (flags & MBX_QUESTION) { if (btn3) /* "Cancel" button */ diff --git a/src/win/win_settings.c b/src/win/win_settings.c index a200adfa0..f6e0f0c8c 100644 --- a/src/win/win_settings.c +++ b/src/win/win_settings.c @@ -531,7 +531,10 @@ settings_msgbox_reset(int button) h = hwndMain; hwndMain = hwndParentDialog; - i = ui_msgbox_ex(MBX_QUESTION | MBX_LINKS, (wchar_t *) (button ? IDS_2051 : IDS_2123), NULL, (wchar_t *) IDS_2121, (wchar_t *) IDS_2122, NULL); + if (button) + i = ui_msgbox_ex(MBX_QUESTION_OK | MBX_WARNING, (wchar_t *) IDS_2051, (wchar_t *) IDS_2142, (wchar_t *) IDS_2140, NULL, NULL); + else + i = ui_msgbox_ex(MBX_QUESTION | MBX_LINKS, (wchar_t *) IDS_2123, NULL, (wchar_t *) IDS_2121, (wchar_t *) IDS_2122, NULL); hwndMain = h;