https://git.reactos.org/?p=reactos.git;a=commitdiff;h=25f78cda99c6ad4d982e53927bd17e8517cc6a4d
commit 25f78cda99c6ad4d982e53927bd17e8517cc6a4d Author: Oleg Dubinskiy <oleg.dubinskij2...@yandex.ua> AuthorDate: Thu Jul 23 21:30:05 2020 +0300 Commit: Stanislav Motylkov <x86co...@gmail.com> CommitDate: Sun Aug 16 02:25:44 2020 +0300 [REGEDIT] Improve message box for importing registry files (#3006) - Change the messagebox's icon type from warning icon to question icon, because this is done in Windows Regedit too. - Use two buttons (Yes and No) or three buttons (Yes, No, and Cancel) depending on the file count. CORE-15494 Co-authored-by: Stanislav Motylkov <x86co...@gmail.com> --- base/applications/regedit/regedit.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/base/applications/regedit/regedit.c b/base/applications/regedit/regedit.c index 5f553d8bdf2..e26b0e564f0 100644 --- a/base/applications/regedit/regedit.c +++ b/base/applications/regedit/regedit.c @@ -140,16 +140,31 @@ BOOL PerformRegAction(REGEDIT_ACTION action, LPWSTR s, BOOL silent) { WCHAR szText[512]; WCHAR filename[MAX_PATH]; + LPWSTR command_line = s; + UINT count = 0, mbType = MB_YESNO; FILE *fp; - get_file_name(&s, filename); - if (!filename[0]) + get_file_name(&command_line, filename); + while (filename[0]) + { + count++; + get_file_name(&command_line, filename); + } + + if (count == 0) { InfoMessageBox(NULL, MB_OK | MB_ICONINFORMATION, NULL, L"No file name is specified."); InfoMessageBox(NULL, MB_OK | MB_ICONINFORMATION, szTitle, usage); exit(4); } + if (count > 1) + { + /* Enable three buttons if we have more than one file */ + mbType = MB_YESNOCANCEL; + } + + get_file_name(&s, filename); while (filename[0]) { /* Request import confirmation */ @@ -159,7 +174,7 @@ BOOL PerformRegAction(REGEDIT_ACTION action, LPWSTR s, BOOL silent) LoadStringW(hInst, IDS_IMPORT_PROMPT, szText, COUNT_OF(szText)); - choice = InfoMessageBox(NULL, MB_YESNOCANCEL | MB_ICONWARNING, szTitle, szText, filename); + choice = InfoMessageBox(NULL, mbType | MB_ICONQUESTION, szTitle, szText, filename); switch (choice) {