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