https://git.reactos.org/?p=reactos.git;a=commitdiff;h=25f78cda99c6ad4d982e53...
commit 25f78cda99c6ad4d982e53927bd17e8517cc6a4d Author: Oleg Dubinskiy oleg.dubinskij2013@yandex.ua AuthorDate: Thu Jul 23 21:30:05 2020 +0300 Commit: Stanislav Motylkov x86corez@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 x86corez@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) {