moved several strings to the application resources
authorThomas Bluemel <thomas@reactsoft.com>
Mon, 21 Jun 2004 07:48:11 +0000 (07:48 +0000)
committerThomas Bluemel <thomas@reactsoft.com>
Mon, 21 Jun 2004 07:48:11 +0000 (07:48 +0000)
svn path=/trunk/; revision=9792

reactos/subsys/system/regedit/En.rc
reactos/subsys/system/regedit/about.c
reactos/subsys/system/regedit/childwnd.c
reactos/subsys/system/regedit/edit.c
reactos/subsys/system/regedit/framewnd.c
reactos/subsys/system/regedit/listview.c
reactos/subsys/system/regedit/resource.h
reactos/subsys/system/regedit/treeview.c

index 4d697ea..4ec1d5a 100644 (file)
@@ -260,6 +260,27 @@ BEGIN
     IDS_MULTI_SZ_EMPTY_STRING "Data of type REG_MULTI_SZ cannot contain empty strings.\nThe empty strings have been removed from the list."
 END
 
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_BINARY_EMPTY       "(zero-length binary value)"
+    IDS_DEFAULT_VALUE_NAME  "(Default)"
+    IDS_VALUE_NOT_SET       "(value not set)"
+    IDS_UNKNOWN_TYPE        "Unknown type: (0x%lx)"
+    IDS_MY_COMPUTER         "My Computer"
+    IDS_IMPORT_REG_FILE     "Import Registry File"
+    IDS_EXPORT_REG_FILE     "Export Registry File"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+    IDS_FLT_REGFILES        "Registration Files"
+    IDS_FLT_REGFILES_FLT    "*.reg"
+    IDS_FLT_REGEDIT4        "Win9x/NT4 Registration Files (REGEDIT4)"
+    IDS_FLT_REGEDIT4_FLT    "*.reg"
+    IDS_FLT_ALLFILES        "All Files (*.*)"
+    IDS_FLT_ALLFILES_FLT    "*.*"
+END
+
 /*****************************************************************/
 
 
index 67a8d19..6261e6f 100644 (file)
@@ -31,5 +31,7 @@
 
 void ShowAboutBox(HWND hWnd)
 {
-    ShellAbout(hWnd, _T("Registry Explorer"), _T(""), LoadIcon(hInst, MAKEINTRESOURCE(IDI_REGEDIT)));
+    TCHAR AppStr[255];
+    LoadString(hInst, IDS_APP_TITLE, AppStr, sizeof(AppStr)/sizeof(TCHAR));
+    ShellAbout(hWnd, AppStr, _T(""), LoadIcon(hInst, MAKEINTRESOURCE(IDI_REGEDIT)));
 }
index 9661939..1306c0b 100644 (file)
@@ -134,15 +134,21 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
 
     switch (message) {
     case WM_CREATE:
-        g_pChildWnd = pChildWnd = HeapAlloc(GetProcessHeap(), 0, sizeof(ChildWnd));
+    {
+        TCHAR buffer[MAX_PATH];
+        /* load "My Computer" string */
+        LoadString(hInst, IDS_MY_COMPUTER, buffer, sizeof(buffer)/sizeof(TCHAR));
+        
+       g_pChildWnd = pChildWnd = HeapAlloc(GetProcessHeap(), 0, sizeof(ChildWnd));
         if (!pChildWnd) return 0;
-        _tcsncpy(pChildWnd->szPath, _T("My Computer"), MAX_PATH);
+        _tcsncpy(pChildWnd->szPath, buffer, MAX_PATH);
         pChildWnd->nSplitPos = 250;
         pChildWnd->hWnd = hWnd;
         pChildWnd->hTreeWnd = CreateTreeView(hWnd, pChildWnd->szPath, TREE_WINDOW);
         pChildWnd->hListWnd = CreateListView(hWnd, LIST_WINDOW/*, pChildWnd->szPath*/);
         SetFocus(pChildWnd->hTreeWnd);
         break;
+    }
     case WM_COMMAND:
         if (!_CmdWndProc(hWnd, message, wParam, lParam)) {
             goto def;
index eb8c654..0be559e 100644 (file)
@@ -111,7 +111,9 @@ INT_PTR CALLBACK modify_string_dlgproc(HWND hwndDlg, UINT uMsg, WPARAM wParam, L
         }
         else
         {
-          SetDlgItemText(hwndDlg, IDC_VALUE_NAME, _T("(Default)"));
+          TCHAR buffer[255];
+         LoadString(hInst, IDS_DEFAULT_VALUE_NAME, buffer, sizeof(buffer)/sizeof(TCHAR));
+         SetDlgItemText(hwndDlg, IDC_VALUE_NAME, buffer);
         }
         SetDlgItemText(hwndDlg, IDC_VALUE_DATA, stringValueData);
         SetFocus(GetDlgItem(hwndDlg, IDC_VALUE_DATA));
@@ -174,7 +176,9 @@ INT_PTR CALLBACK modify_multi_string_dlgproc(HWND hwndDlg, UINT uMsg, WPARAM wPa
         }
         else
         {
-          SetDlgItemText(hwndDlg, IDC_VALUE_NAME, _T("(Default)"));
+          TCHAR buffer[255];
+         LoadString(hInst, IDS_DEFAULT_VALUE_NAME, buffer, sizeof(buffer)/sizeof(TCHAR));
+         SetDlgItemText(hwndDlg, IDC_VALUE_NAME, buffer);
         }
         SetDlgItemText(hwndDlg, IDC_VALUE_DATA, stringValueData);
         SetFocus(GetDlgItem(hwndDlg, IDC_VALUE_DATA));
@@ -291,7 +295,9 @@ INT_PTR CALLBACK modify_dword_dlgproc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LP
         }
         else
         {
-            SetDlgItemText(hwndDlg, IDC_VALUE_NAME, _T("(Default)"));
+           TCHAR buffer[255];
+           LoadString(hInst, IDS_DEFAULT_VALUE_NAME, buffer, sizeof(buffer)/sizeof(TCHAR));
+           SetDlgItemText(hwndDlg, IDC_VALUE_NAME, buffer);
         }
         CheckRadioButton (hwndDlg, IDC_FORMAT_HEX, IDC_FORMAT_DEC, IDC_FORMAT_HEX);
         _stprintf (ValueString, _T("%lx"), dwordValueData);
@@ -404,7 +410,9 @@ INT_PTR CALLBACK modify_binary_dlgproc(HWND hwndDlg, UINT uMsg, WPARAM wParam, L
         }
         else
         {
-          SetDlgItemText(hwndDlg, IDC_VALUE_NAME, _T("(Default)"));
+          TCHAR buffer[255];
+         LoadString(hInst, IDS_DEFAULT_VALUE_NAME, buffer, sizeof(buffer)/sizeof(TCHAR));
+         SetDlgItemText(hwndDlg, IDC_VALUE_NAME, buffer);
         }
         hwndValue = GetDlgItem(hwndDlg, IDC_VALUE_DATA);
         HexEdit_LoadBuffer(hwndValue, binValueData, valueDataLen);
index 7947a52..d8ecce3 100644 (file)
@@ -207,14 +207,48 @@ TCHAR CustomFilterBuffer[MAX_CUSTOM_FILTER_SIZE];
 TCHAR FileNameBuffer[_MAX_PATH];
 TCHAR FileTitleBuffer[_MAX_PATH];
 
+typedef struct
+{
+  UINT DisplayID;
+  UINT FilterID;
+} FILTERPAIR, *PFILTERPAIR;
+
+void
+BuildFilterStrings(TCHAR *Filter, PFILTERPAIR Pairs, int PairCount)
+{
+  int i, c;
+  
+  c = 0;
+  for(i = 0; i < PairCount; i++)
+  {
+    c += LoadString(hInst, Pairs[i].DisplayID, &Filter[c], 255 * sizeof(TCHAR));
+    Filter[++c] = '\0';
+    c += LoadString(hInst, Pairs[i].FilterID, &Filter[c], 255 * sizeof(TCHAR));
+    Filter[++c] = '\0';
+  }
+  Filter[++c] = '\0';
+}
+
 static BOOL InitOpenFileName(HWND hWnd, OPENFILENAME* pofn)
 {
+    FILTERPAIR FilterPairs[3];
+    static TCHAR Filter[1024];
+    
     memset(pofn, 0, sizeof(OPENFILENAME));
     pofn->lStructSize = sizeof(OPENFILENAME);
     pofn->hwndOwner = hWnd;
     pofn->hInstance = hInst;
-
-    pofn->lpstrFilter = _T("Registration Files\0*.reg\0Win9x/NT4 Registration Files (REGEDIT4)\0*.reg\0All Files (*.*)\0*.*\0\0");
+    
+    /* create filter string */
+    FilterPairs[0].DisplayID = IDS_FLT_REGFILES;
+    FilterPairs[0].FilterID = IDS_FLT_REGFILES_FLT;
+    FilterPairs[1].DisplayID = IDS_FLT_REGEDIT4;
+    FilterPairs[1].FilterID = IDS_FLT_REGEDIT4_FLT;
+    FilterPairs[2].DisplayID = IDS_FLT_ALLFILES;
+    FilterPairs[2].FilterID = IDS_FLT_ALLFILES_FLT;
+    BuildFilterStrings(Filter, FilterPairs, sizeof(FilterPairs) / sizeof(FILTERPAIR));
+    
+    pofn->lpstrFilter = Filter;
     pofn->lpstrCustomFilter = CustomFilterBuffer;
     pofn->nMaxCustFilter = MAX_CUSTOM_FILTER_SIZE;
     pofn->nFilterIndex = 0;
@@ -240,9 +274,11 @@ static BOOL InitOpenFileName(HWND hWnd, OPENFILENAME* pofn)
 static BOOL ImportRegistryFile(HWND hWnd)
 {
     OPENFILENAME ofn;
+    TCHAR Caption[128];
 
     InitOpenFileName(hWnd, &ofn);
-    ofn.lpstrTitle = _T("Import Registry File");
+    LoadString(hInst, IDS_IMPORT_REG_FILE, Caption, sizeof(Caption)/sizeof(TCHAR));
+    ofn.lpstrTitle = Caption;
     /*    ofn.lCustData = ;*/
     if (GetOpenFileName(&ofn)) {
         /* FIXME - convert to ascii */
@@ -279,10 +315,12 @@ static BOOL ExportRegistryFile(HWND hWnd)
 {
     OPENFILENAME ofn;
     TCHAR ExportKeyPath[_MAX_PATH];
+    TCHAR Caption[128];
 
     ExportKeyPath[0] = _T('\0');
     InitOpenFileName(hWnd, &ofn);
-    ofn.lpstrTitle = _T("Export Registry File");
+    LoadString(hInst, IDS_EXPORT_REG_FILE, Caption, sizeof(Caption)/sizeof(TCHAR));
+    ofn.lpstrTitle = Caption;
     /*    ofn.lCustData = ;*/
     ofn.Flags = OFN_ENABLETEMPLATE + OFN_EXPLORER;
     ofn.lpfnHook = ImportRegistryFile_OFNHookProc;
@@ -557,7 +595,7 @@ LRESULT CALLBACK FrameWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
 {
     switch (message) {
     case WM_CREATE:
-        CreateWindowEx(0, szChildClass, _T("regedit child window"), WS_CHILD | WS_VISIBLE,
+        CreateWindowEx(0, szChildClass, NULL, WS_CHILD | WS_VISIBLE,
                        CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
                        hWnd, (HMENU)0, hInst, 0);
         break;
index ea63779..106930f 100644 (file)
@@ -201,21 +201,30 @@ static void AddEntryToList(HWND hwndLV, LPTSTR Name, DWORD dwValType, void* ValB
             }
             /*            lpsRes = convertHexToDWORDStr(lpbData, dwLen); */
             break;
-        case REG_NONE:
-        case REG_BINARY: {
+        default:
+           {
                 unsigned int i;
                 LPBYTE pData = (LPBYTE)ValBuf;
-                LPTSTR strBinary = HeapAlloc(GetProcessHeap(), 0, dwCount * sizeof(TCHAR) * 3 + 1);
-                for (i = 0; i < dwCount; i++)
-                    wsprintf( strBinary + i*3, _T("%02X "), pData[i] );
-                strBinary[dwCount * 3] = 0;
-                ListView_SetItemText(hwndLV, index, 2, strBinary);
-                HeapFree(GetProcessHeap(), 0, strBinary);
+                LPTSTR strBinary;
+                if(dwCount > 0)
+                {
+                   strBinary = HeapAlloc(GetProcessHeap(), 0, (dwCount * sizeof(TCHAR) * 3) + 1);
+                    for (i = 0; i < dwCount; i++)
+                    {
+                        wsprintf( strBinary + i*3, _T("%02X "), pData[i] );
+                    }
+                    strBinary[dwCount * 3] = 0;
+                    ListView_SetItemText(hwndLV, index, 2, strBinary);
+                    HeapFree(GetProcessHeap(), 0, strBinary);
+                }
+                else
+                {
+                    TCHAR szText[128];
+                   LoadString(hInst, IDS_BINARY_EMPTY, szText, sizeof(szText)/sizeof(TCHAR));
+                   ListView_SetItemText(hwndLV, index, 2, szText);
+                }
             }
             break;
-        default:
-            ListView_SetItemText(hwndLV, index, 2, _T("(value)"));
-            break;
         }
     }
 }
@@ -281,7 +290,8 @@ static void OnGetDispInfo(NMLVDISPINFO* plvdi)
 
     switch (plvdi->item.iSubItem) {
     case 0:
-        plvdi->item.pszText = _T("(Default)");
+        LoadString(hInst, IDS_DEFAULT_VALUE_NAME, buffer, sizeof(buffer)/sizeof(TCHAR));
+       plvdi->item.pszText = buffer;
         break;
     case 1:
         switch (((LINE_INFO*)plvdi->item.lParam)->dwValType) {
@@ -318,14 +328,18 @@ static void OnGetDispInfo(NMLVDISPINFO* plvdi)
         case REG_NONE:
             plvdi->item.pszText = _T("REG_NONE");
             break;
-        default:
-            wsprintf(buffer, _T("unknown(0x%lx)"), ((LINE_INFO*)plvdi->item.lParam)->dwValType);
+        default: {
+            TCHAR buf2[200];
+           LoadString(hInst, IDS_UNKNOWN_TYPE, buf2, sizeof(buf2)/sizeof(TCHAR));
+           wsprintf(buffer, buf2, ((LINE_INFO*)plvdi->item.lParam)->dwValType);
             plvdi->item.pszText = buffer;
             break;
+          }
         }
         break;
     case 2:
-        plvdi->item.pszText = _T("(value not set)");
+        LoadString(hInst, IDS_VALUE_NOT_SET, buffer, sizeof(buffer)/sizeof(TCHAR));
+       plvdi->item.pszText = buffer;
         break;
     case 3:
         plvdi->item.pszText = _T("");
index 6cabef0..3fe8999 100644 (file)
 #define ID_EDIT_MODIFY_BIN             32840
 #define IDS_WARNING                    32841
 #define IDS_MULTI_SZ_EMPTY_STRING      32842
+#define IDS_BINARY_EMPTY               32843
+#define IDS_DEFAULT_VALUE_NAME         32844
+#define IDS_VALUE_NOT_SET              32845
+#define IDS_UNKNOWN_TYPE               32846
+#define IDS_MY_COMPUTER                        32847
+#define IDS_IMPORT_REG_FILE            32848
+#define IDS_EXPORT_REG_FILE            32849
+
+#define IDS_FLT_REGFILES               31001
+#define IDS_FLT_REGFILES_FLT           31002
+#define IDS_FLT_REGEDIT4               31003
+#define IDS_FLT_REGEDIT4_FLT           31004
+#define IDS_FLT_ALLFILES               31005
+#define IDS_FLT_ALLFILES_FLT           31006
 
 #define IDD_EDIT_STRING                        2000
 #define IDC_VALUE_NAME                 2001
index ba49270..7131adb 100644 (file)
@@ -267,7 +267,7 @@ HWND CreateTreeView(HWND hwndParent, LPTSTR pHostName, int id)
 
     /* Get the dimensions of the parent window's client area, and create the tree view control.  */
     GetClientRect(hwndParent, &rcClient);
-    hwndTV = CreateWindowEx(WS_EX_CLIENTEDGE, WC_TREEVIEW, _T("Tree View"),
+    hwndTV = CreateWindowEx(WS_EX_CLIENTEDGE, WC_TREEVIEW, NULL,
                             WS_VISIBLE | WS_CHILD | WS_TABSTOP | TVS_HASLINES | TVS_HASBUTTONS | TVS_LINESATROOT,
                             0, 0, rcClient.right, rcClient.bottom,
                             hwndParent, (HMENU)id, hInst, NULL);