[REGEDIT
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Mon, 1 Oct 2012 23:16:43 +0000 (23:16 +0000)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Mon, 1 Oct 2012 23:16:43 +0000 (23:16 +0000)
- Fix comment headers.
- Improve error-displaying function and add another one (to be used later on).
- Clear a part of code.

svn path=/trunk/; revision=57456

reactos/base/applications/regedit/error.c
reactos/base/applications/regedit/main.h
reactos/base/applications/regedit/regedit.c
reactos/base/applications/regedit/regproc.c
reactos/base/applications/regedit/settings.c

index aaadf1a..864094e 100644 (file)
@@ -1,14 +1,76 @@
+/*
+ * Regedit errors, warnings, informations displaying
+ *
+ * Copyright (C) 2010 Adam Kachwalla <geekdundee@gmail.com>
+ * Copyright (C) 2012 Hermès Bélusca - Maïto <hermes.belusca@sfr.fr>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
 #include <regedit.h>
 #include <regedit.h>
-void ErrorMessageBox(HWND hWnd, LPCTSTR title, DWORD code)
+
+int ErrorMessageBox(HWND hWnd, LPCTSTR lpTitle, DWORD dwErrorCode, ...)
 {
 {
-    LPTSTR lpMsgBuf;
-    DWORD status;
-    static const TCHAR fallback[] = TEXT("Error displaying error message.\n");
-    status = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
-                           NULL, code, 0, (LPTSTR)&lpMsgBuf, 0, NULL);
-    if (!status)
-        lpMsgBuf = (LPTSTR)fallback;
-    MessageBox(hWnd, lpMsgBuf, title, MB_OK | MB_ICONERROR);
-    if (lpMsgBuf != fallback)
-        LocalFree(lpMsgBuf);
+    int iRet = 0;
+    LPTSTR lpMsgBuf = NULL;
+    DWORD Status = 0;
+
+    va_list args = NULL;
+    va_start(args, dwErrorCode);
+
+    Status = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
+                           NULL,
+                           dwErrorCode,
+                           MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+                           (LPTSTR)&lpMsgBuf,
+                           0,
+                           &args);
+
+    va_end(args);
+
+    iRet = MessageBox(hWnd, (Status && lpMsgBuf ? lpMsgBuf : TEXT("Error displaying error message.\n")), lpTitle, MB_OK | MB_ICONERROR);
+
+    if (lpMsgBuf) LocalFree(lpMsgBuf);
+
+    /* Return the MessageBox information */
+    return iRet;
+}
+
+int InfoMessageBox(HWND hWnd, UINT uType, LPCTSTR lpTitle, LPCTSTR lpMessage, ...)
+{
+    int iRet = 0;
+    LPTSTR lpMsgBuf = NULL;
+    DWORD Status = 0;
+
+    va_list args = NULL;
+    va_start(args, lpMessage);
+
+    Status = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING,
+                           lpMessage,
+                           0,
+                           0,
+                           (LPTSTR)&lpMsgBuf,
+                           0,
+                           &args);
+
+    va_end(args);
+
+    iRet = MessageBox(hWnd, (Status && lpMsgBuf ? lpMsgBuf : TEXT("Error displaying error message.\n")), lpTitle, uType);
+
+    if (lpMsgBuf) LocalFree(lpMsgBuf);
+
+    /* Return the MessageBox information */
+    return iRet;
 }
 }
index 36cf10e..d8931dc 100644 (file)
@@ -94,7 +94,8 @@ extern void ResizeWnd(int cx, int cy);
 extern LPCTSTR get_root_key_name(HKEY hRootKey);
 
 /* error.c */
 extern LPCTSTR get_root_key_name(HKEY hRootKey);
 
 /* error.c */
-extern void ErrorMessageBox(HWND hWnd, LPCTSTR title, DWORD code);
+extern int ErrorMessageBox(HWND hWnd, LPCTSTR lpTitle, DWORD dwErrorCode, ...);
+extern int InfoMessageBox(HWND hWnd, UINT uType, LPCTSTR lpTitle, LPCTSTR lpMessage, ...);
 
 /* find.c */
 extern void FindDialog(HWND hWnd);
 
 /* find.c */
 extern void FindDialog(HWND hWnd);
index 5644699..8432a00 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Windows regedit.exe registry editor implementation.
  *
 /*
  * Windows regedit.exe registry editor implementation.
  *
- * Copyright 2002 Andriy Palamarchuk
+ * Copyright (C) 2002 Andriy Palamarchuk
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -258,11 +258,12 @@ BOOL ProcessCmdLine(LPWSTR lpCmdLine)
         {
             if (chu == L'S')
             {
         {
             if (chu == L'S')
             {
+                /* Silence dialogs */
                 silent = TRUE;
             }
             else if (chu == L'V')
             {
                 silent = TRUE;
             }
             else if (chu == L'V')
             {
-                /* ignore these switches */
+                /* Ignore this switch */
             }
             else
             {
             }
             else
             {
@@ -323,14 +324,21 @@ BOOL ProcessCmdLine(LPWSTR lpCmdLine)
 
     if (*s && action == ACTION_UNDEF)
     {
 
     if (*s && action == ACTION_UNDEF)
     {
-        TCHAR szTitle[256], szText[256];
-        LoadString(hInst, IDS_APP_TITLE, szTitle, COUNT_OF(szTitle));
-        LoadString(hInst, IDS_IMPORT_PROMPT, szText, COUNT_OF(szText));
-        /* request import confirmation */
-        if (silent || MessageBox(NULL, szText, szTitle, MB_YESNO) == IDYES) 
-            action = ACTION_ADD;
+        if (!silent)
+        {
+            TCHAR szTitle[256], szText[256];
+            LoadString(hInst, IDS_APP_TITLE, szTitle, COUNT_OF(szTitle));
+            LoadString(hInst, IDS_IMPORT_PROMPT, szText, COUNT_OF(szText));
+            /* request import confirmation */
+            if (MessageBox(NULL, szText, szTitle, MB_YESNO) == IDYES) 
+                action = ACTION_ADD;
+            else
+                return TRUE;
+        }
         else
         else
-            return TRUE;
+        {
+            action = ACTION_ADD;
+        }
     }
     if (action == ACTION_UNDEF)
         return FALSE;
     }
     if (action == ACTION_UNDEF)
         return FALSE;
index f6a2d4e..d76fda1 100644 (file)
@@ -2,9 +2,9 @@
  * Registry processing routines. Routines, common for registry
  * processing frontends.
  *
  * Registry processing routines. Routines, common for registry
  * processing frontends.
  *
- * Copyright 1999 Sylvain St-Germain
- * Copyright 2002 Andriy Palamarchuk
- * Copyright 2008 Alexander N. S?rnes <alex@thehandofagony.com>
+ * Copyright (C) 1999 Sylvain St-Germain
+ * Copyright (C) 2002 Andriy Palamarchuk
+ * Copyright (C) 2008 Alexander N. Sørnes <alex@thehandofagony.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
index 70cf9a3..ec05738 100644 (file)
@@ -1,23 +1,23 @@
 /*
 /*
-* regedit (settings.c)
-*
-* Copyright 2012 Edijs Kolesnikovics <terminedijs@yahoo.com>
-* Copyright 2012 Grégori Macário Harbs <mysoft64bits at gmail dot com>
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation; either
-* version 2.1 of the License, or (at your option) any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this library; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-*/
+ * Regedit settings
+ *
+ * Copyright (C) 2012 Edijs Kolesnikovics <terminedijs@yahoo.com>
+ * Copyright (C) 2012 Grégori Macário Harbs <mysoft64bits at gmail dot com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
 
 #include <regedit.h>
 
 
 #include <regedit.h>