[USERINIT]
authorEric Kohl <eric.kohl@reactos.org>
Sun, 17 Jan 2016 19:20:47 +0000 (19:20 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Sun, 17 Jan 2016 19:20:47 +0000 (19:20 +0000)
Add two dialogs that are shown when the LiveCD is booted. The first dialog is used to select the language and keyboard layout. The second dialog is used to either start the shell or the GUI installer. Language and keyboard layout selection are still work in progress.

svn path=/trunk/; revision=70607

34 files changed:
reactos/base/system/userinit/CMakeLists.txt
reactos/base/system/userinit/lang/bg-BG.rc
reactos/base/system/userinit/lang/cs-CZ.rc
reactos/base/system/userinit/lang/de-DE.rc
reactos/base/system/userinit/lang/el-GR.rc
reactos/base/system/userinit/lang/en-US.rc
reactos/base/system/userinit/lang/es-ES.rc
reactos/base/system/userinit/lang/fr-FR.rc
reactos/base/system/userinit/lang/he-IL.rc
reactos/base/system/userinit/lang/hu-HU.rc
reactos/base/system/userinit/lang/id-ID.rc
reactos/base/system/userinit/lang/it-IT.rc
reactos/base/system/userinit/lang/ja-JP.rc
reactos/base/system/userinit/lang/lt-LT.rc
reactos/base/system/userinit/lang/nl-NL.rc
reactos/base/system/userinit/lang/no-NO.rc
reactos/base/system/userinit/lang/pl-PL.rc
reactos/base/system/userinit/lang/pt-BR.rc
reactos/base/system/userinit/lang/ro-RO.rc
reactos/base/system/userinit/lang/ru-RU.rc
reactos/base/system/userinit/lang/sk-SK.rc
reactos/base/system/userinit/lang/sq-AL.rc
reactos/base/system/userinit/lang/sv-SE.rc
reactos/base/system/userinit/lang/th-TH.rc
reactos/base/system/userinit/lang/tr-TR.rc
reactos/base/system/userinit/lang/uk-UA.rc
reactos/base/system/userinit/lang/zh-CN.rc
reactos/base/system/userinit/lang/zh-TW.rc
reactos/base/system/userinit/livecd.c [new file with mode: 0644]
reactos/base/system/userinit/res/rosbitmap.bmp [new file with mode: 0644]
reactos/base/system/userinit/resource.h
reactos/base/system/userinit/userinit.c
reactos/base/system/userinit/userinit.h [new file with mode: 0644]
reactos/base/system/userinit/userinit.rc

index 52354f3..f7fedae 100644 (file)
@@ -1,6 +1,12 @@
 
-add_executable(userinit userinit.c userinit.rc)
+list(APPEND SOURCE
+    livecd.c
+    userinit.c
+    userinit.h)
+
+add_executable(userinit ${SOURCE} userinit.rc)
 target_link_libraries(userinit wine)
 set_module_type(userinit win32gui UNICODE)
-add_importlibs(userinit user32 advapi32 shell32 msvcrt kernel32 ntdll)
+add_importlibs(userinit user32 gdi32 advapi32 shell32 msvcrt kernel32 ntdll)
+add_pch(userinit userinit.h SOURCE)
 add_cd_file(TARGET userinit DESTINATION reactos/system32 FOR all)
index 68a6344..01c5ee1 100644 (file)
@@ -1,6 +1,45 @@
 LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Приложението userinit не успя да пусне обвивката!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Приложението userinit не успя да пусне обвивката!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 19c3267..a298b1b 100644 (file)
@@ -5,7 +5,46 @@
 
 LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Aplikace Userinit selhala při spouštění uživatelského rozhraní!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Aplikace Userinit selhala při spouštění uživatelského rozhraní!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 9e21b7c..cf62fc2 100644 (file)
@@ -1,6 +1,45 @@
 LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit konnte die Shell nicht starten!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit konnte die Shell nicht starten!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index f314a19..33bbb5b 100644 (file)
@@ -2,7 +2,46 @@
 
 LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "H Userinit δε μπόρεσε να εκκινήσει το κέλυφος!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "H Userinit δε μπόρεσε να εκκινήσει το κέλυφος!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 124c134..29ea36a 100644 (file)
@@ -1,6 +1,45 @@
 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit failed to start the shell!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit failed to start the shell!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 8d72784..86866ac 100644 (file)
@@ -1,6 +1,45 @@
 LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit no pudo iniciar el shell con éxito!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit no pudo iniciar el shell con éxito!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index b8c911f..b9e4439 100644 (file)
@@ -1,6 +1,45 @@
 LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit a échoué lors du chargement de l'interface (shell) !\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit a échoué lors du chargement de l'interface (shell) !\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index b157adf..7c2337b 100644 (file)
@@ -1,6 +1,45 @@
 LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit נכשל להפעיל את הממשק!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit נכשל להפעיל את הממשק!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index a982a48..49e0b82 100644 (file)
@@ -2,7 +2,46 @@
 
 LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Az Userinit nem tudja elindítani a rendszert!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Az Userinit nem tudja elindítani a rendszert!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 6b2b07c..cc85013 100644 (file)
@@ -1,6 +1,45 @@
 LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit gagal untuk memulai shell!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit gagal untuk memulai shell!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index f1de80c..fbb85be 100644 (file)
@@ -1,6 +1,45 @@
 LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit non ha potuto avviare l'ambiente(shell)!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit non ha potuto avviare l'ambiente(shell)!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 0a2784b..742da74 100644 (file)
@@ -1,6 +1,45 @@
 LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit はシェルを開始できませんでした!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit はシェルを開始できませんでした!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 6b11f33..31db311 100644 (file)
@@ -2,7 +2,46 @@
 
 LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit nepavyko paleisti aplinkos!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit nepavyko paleisti aplinkos!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index e558f0d..22cae1e 100644 (file)
@@ -2,7 +2,46 @@
 
 LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit kon de shell niet starten!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit kon de shell niet starten!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 410a57c..eaacdab 100644 (file)
@@ -1,6 +1,45 @@
 LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit mislykket å starte skall!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit mislykket å starte skall!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 1a43b59..69214b2 100644 (file)
@@ -7,7 +7,46 @@
 
 LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Nie powiodło się uruchomienie powłoki przez userinit!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Nie powiodło się uruchomienie powłoki przez userinit!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 28efc9a..1b7681d 100644 (file)
@@ -1,6 +1,45 @@
 LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit falhou ao tentar iniciar o shell!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit falhou ao tentar iniciar o shell!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 05af69b..088234b 100644 (file)
@@ -2,7 +2,46 @@
 
 LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit a eșuat în lansarea interfeței!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit a eșuat în lansarea interfeței!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index d0e0699..20c52c6 100644 (file)
@@ -1,6 +1,45 @@
 LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Ошибка запуска оболочки при инициализации пользовательского сеанса!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Ошибка запуска оболочки при инициализации пользовательского сеанса!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 30330a2..111d089 100644 (file)
@@ -2,7 +2,46 @@
 
 LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit zlyhal pri spúšťaní shellu!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL, "Userinit zlyhal pri spúšťaní shellu!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 926538a..c7dc91e 100644 (file)
@@ -4,7 +4,46 @@
 
 LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit dështuar për të filluar shell'in!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit dështuar për të filluar shell'in!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index d726d99..8a881f8 100644 (file)
@@ -1,7 +1,47 @@
 /* Translated by David Nordenberg */
 
 LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
+
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit misslyckades att starta användargränssnittet!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit misslyckades att starta användargränssnittet!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 1fe161e..77edf81 100644 (file)
@@ -1,6 +1,45 @@
 LANGUAGE LANG_THAI, SUBLANG_DEFAULT
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "ค่าผู้ใช้ผิดพลาดในตอนเข้าสู่ชั้นสถานะ!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "ค่าผู้ใช้ผิดพลาดในตอนเข้าสู่ชั้นสถานะ!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index c1959d3..6dc635b 100644 (file)
@@ -2,7 +2,46 @@
 
 LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit, kabuğu başlatmada başarısız oldu!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit, kabuğu başlatmada başarısız oldu!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index cd0d392..3d67608 100644 (file)
@@ -8,7 +8,46 @@
 
 LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit не вдалося запустити оболонку!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit не вдалося запустити оболонку!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 29b14a2..e846a7e 100644 (file)
@@ -2,7 +2,46 @@
 
 LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit 无法启动外壳!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit 无法启动外壳!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
index 4df150a..3b62817 100644 (file)
@@ -2,7 +2,46 @@
 
 LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
 
+IDD_LOCALEPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_LOCALELOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    RTEXT "Language:", IDC_STATIC, 20, 109, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LANGUAGELIST, 132, 107, 176, 142, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    RTEXT "Keyboard layout:", IDC_STATIC, 20, 132, 106, 11, WS_CHILD | WS_VISIBLE | WS_GROUP
+    COMBOBOX IDC_LAYOUTLIST, 132, 130, 176, 81, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP
+    LTEXT "Select your language and keyboard layout and click Next to continue.", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    DEFPUSHBUTTON "&Next", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
+STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
+CAPTION "ReactOS LiveCD"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    CONTROL "IDB_LOGO", IDC_STARTLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
+    DEFPUSHBUTTON "Run ReactOS &Live CD", IDC_RUN, 71, 102, 175, 21
+    PUSHBUTTON "&Install ReactOS", IDC_INSTALL, 71, 130, 175, 21
+
+    LTEXT "", IDC_STATIC, 7, 152, 300, 8
+
+    GROUPBOX "", IDC_STATIC, 0, 165, 317, 1
+    PUSHBUTTON "&Previous", IDOK, 205, 172, 50, 14
+    PUSHBUTTON "&Cancel", IDCANCEL, 260, 172, 50, 14
+END
+
+STRINGTABLE
+BEGIN
+    IDS_SHELL_FAIL "Userinit 無法啟動外殼!\n"
+    IDS_INSTALLER_FAIL "Userinit failed to start the installer!\n"
+END
+
 STRINGTABLE
 BEGIN
-    STRING_USERINIT_FAIL "Userinit 無法啟動外殼!\n"
+    IDS_SPAIN "Spanish (Spain)"
 END
diff --git a/reactos/base/system/userinit/livecd.c b/reactos/base/system/userinit/livecd.c
new file mode 100644 (file)
index 0000000..4d8b623
--- /dev/null
@@ -0,0 +1,530 @@
+/*
+ * COPYRIGHT:   See COPYING in the top level directory
+ * PROJECT:     ReactOS Userinit Logon Application
+ * FILE:        base/system/userinit/livecd.c
+ * PROGRAMMERS: Eric Kohl
+ */
+
+#include "userinit.h"
+
+HWND hList;
+HWND hLocaleList;
+BOOL bSpain = FALSE;
+
+static VOID
+InitImageInfo(PIMGINFO ImgInfo)
+{
+    BITMAP bitmap;
+
+    ZeroMemory(ImgInfo, sizeof(*ImgInfo));
+
+    ImgInfo->hBitmap = LoadImage(hInstance,
+                                 MAKEINTRESOURCE(IDB_ROSLOGO),
+                                 IMAGE_BITMAP,
+                                 0,
+                                 0,
+                                 LR_DEFAULTCOLOR);
+
+    if (ImgInfo->hBitmap != NULL)
+    {
+        GetObject(ImgInfo->hBitmap, sizeof(BITMAP), &bitmap);
+
+        ImgInfo->cxSource = bitmap.bmWidth;
+        ImgInfo->cySource = bitmap.bmHeight;
+    }
+}
+
+
+BOOL
+IsLiveCD(VOID)
+{
+    HKEY ControlKey = NULL;
+    LPWSTR SystemStartOptions = NULL;
+    LPWSTR CurrentOption, NextOption; /* Pointers into SystemStartOptions */
+    LONG rc;
+    BOOL ret = FALSE;
+
+    TRACE("IsLiveCD()\n");
+
+    rc = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
+                      REGSTR_PATH_CURRENT_CONTROL_SET,
+                      0,
+                      KEY_QUERY_VALUE,
+                      &ControlKey);
+    if (rc != ERROR_SUCCESS)
+    {
+        WARN("RegOpenKeyEx() failed with error %lu\n", rc);
+        goto cleanup;
+    }
+
+    rc = ReadRegSzKey(ControlKey, L"SystemStartOptions", &SystemStartOptions);
+    if (rc != ERROR_SUCCESS)
+    {
+        WARN("ReadRegSzKey() failed with error %lu\n", rc);
+        goto cleanup;
+    }
+
+    /* Check for CONSOLE switch in SystemStartOptions */
+    CurrentOption = SystemStartOptions;
+    while (CurrentOption)
+    {
+        NextOption = wcschr(CurrentOption, L' ');
+        if (NextOption)
+            *NextOption = L'\0';
+        if (_wcsicmp(CurrentOption, L"MININT") == 0)
+        {
+            TRACE("Found 'MININT' boot option\n");
+            ret = TRUE;
+            goto cleanup;
+        }
+        CurrentOption = NextOption ? NextOption + 1 : NULL;
+    }
+
+cleanup:
+    if (ControlKey != NULL)
+        RegCloseKey(ControlKey);
+    HeapFree(GetProcessHeap(), 0, SystemStartOptions);
+
+    TRACE("IsLiveCD() returning %d\n", ret);
+
+    return ret;
+}
+
+
+static BOOL CALLBACK
+LocalesEnumProc(LPTSTR lpLocale)
+{
+    LCID lcid;
+    WCHAR lang[255];
+    INT index;
+    BOOL bNoShow = FALSE;
+
+    lcid = wcstoul(lpLocale, NULL, 16);
+
+    /* Display only languages with installed support */
+    if (!IsValidLocale(lcid, LCID_INSTALLED))
+        return TRUE;
+
+    if (lcid == MAKELCID(MAKELANGID(LANG_SPANISH, SUBLANG_SPANISH), SORT_DEFAULT) ||
+        lcid == MAKELCID(MAKELANGID(LANG_SPANISH, SUBLANG_SPANISH_MODERN), SORT_DEFAULT))
+    {
+        if (bSpain == FALSE)
+        {
+            LoadStringW(hInstance, IDS_SPAIN, lang, 255);
+            bSpain = TRUE;
+        }
+        else
+        {
+            bNoShow = TRUE;
+        }
+    }
+    else
+    {
+        GetLocaleInfoW(lcid, LOCALE_SLANGUAGE, lang, sizeof(lang)/sizeof(WCHAR));
+    }
+
+    if (bNoShow == FALSE)
+    {
+        index = SendMessageW(hList,
+                             CB_ADDSTRING,
+                             0,
+                             (LPARAM)lang);
+
+        SendMessageW(hList,
+                     CB_SETITEMDATA,
+                     index,
+                     (LPARAM)lcid);
+    }
+
+    return TRUE;
+}
+
+
+static VOID
+CreateLanguagesList(HWND hwnd)
+{
+    WCHAR langSel[255];
+
+    hList = hwnd;
+    bSpain = FALSE;
+    EnumSystemLocalesW(LocalesEnumProc, LCID_SUPPORTED);
+
+    /* Select current locale */
+    /* or should it be System and not user? */
+    GetLocaleInfoW(GetUserDefaultLCID(), LOCALE_SLANGUAGE, langSel, sizeof(langSel)/sizeof(WCHAR));
+
+    SendMessageW(hList,
+                 CB_SELECTSTRING,
+                 -1,
+                 (LPARAM)langSel);
+}
+
+
+static
+VOID
+InitializeDefaultUserLocale(
+    PLCID pNewLcid)
+{
+    WCHAR szBuffer[80];
+    PWSTR ptr;
+    HKEY hLocaleKey;
+    DWORD ret;
+    DWORD dwSize;
+    LCID lcid;
+    INT i;
+
+    struct {LCTYPE LCType; PWSTR pValue;} LocaleData[] = {
+        /* Number */
+        {LOCALE_SDECIMAL, L"sDecimal"},
+        {LOCALE_STHOUSAND, L"sThousand"},
+        {LOCALE_SNEGATIVESIGN, L"sNegativeSign"},
+        {LOCALE_SPOSITIVESIGN, L"sPositiveSign"},
+        {LOCALE_SGROUPING, L"sGrouping"},
+        {LOCALE_SLIST, L"sList"},
+        {LOCALE_SNATIVEDIGITS, L"sNativeDigits"},
+        {LOCALE_INEGNUMBER, L"iNegNumber"},
+        {LOCALE_IDIGITS, L"iDigits"},
+        {LOCALE_ILZERO, L"iLZero"},
+        {LOCALE_IMEASURE, L"iMeasure"},
+        {LOCALE_IDIGITSUBSTITUTION, L"NumShape"},
+
+        /* Currency */
+        {LOCALE_SCURRENCY, L"sCurrency"},
+        {LOCALE_SMONDECIMALSEP, L"sMonDecimalSep"},
+        {LOCALE_SMONTHOUSANDSEP, L"sMonThousandSep"},
+        {LOCALE_SMONGROUPING, L"sMonGrouping"},
+        {LOCALE_ICURRENCY, L"iCurrency"},
+        {LOCALE_INEGCURR, L"iNegCurr"},
+        {LOCALE_ICURRDIGITS, L"iCurrDigits"},
+
+        /* Time */
+        {LOCALE_STIMEFORMAT, L"sTimeFormat"},
+        {LOCALE_STIME, L"sTime"},
+        {LOCALE_S1159, L"s1159"},
+        {LOCALE_S2359, L"s2359"},
+        {LOCALE_ITIME, L"iTime"},
+        {LOCALE_ITIMEMARKPOSN, L"iTimePrefix"},
+        {LOCALE_ITLZERO, L"iTLZero"},
+
+        /* Date */
+        {LOCALE_SLONGDATE, L"sLongDate"},
+        {LOCALE_SSHORTDATE, L"sShortDate"},
+        {LOCALE_SDATE, L"sDate"},
+        {LOCALE_IFIRSTDAYOFWEEK, L"iFirstDayOfWeek"},
+        {LOCALE_IFIRSTWEEKOFYEAR, L"iFirstWeekOfYear"},
+        {LOCALE_IDATE, L"iDate"},
+        {LOCALE_ICALENDARTYPE, L"iCalendarType"},
+
+        /* Misc */
+        {LOCALE_SCOUNTRY, L"sCountry"},
+        {LOCALE_SLANGUAGE, L"sLanguage"},
+        {LOCALE_ICOUNTRY, L"iCountry"},
+        {0, NULL}};
+
+    ret = RegOpenKeyExW(HKEY_USERS,
+                        L".DEFAULT\\Control Panel\\International",
+                        0,
+                        KEY_READ | KEY_WRITE,
+                        &hLocaleKey);
+    if (ret != ERROR_SUCCESS)
+    {
+        return;
+    }
+
+    if (pNewLcid == NULL)
+    {
+        dwSize = 9 * sizeof(WCHAR);
+        ret = RegQueryValueExW(hLocaleKey,
+                               L"Locale",
+                               NULL,
+                               NULL,
+                               (PBYTE)szBuffer,
+                               &dwSize);
+        if (ret != ERROR_SUCCESS)
+            goto done;
+
+        lcid = (LCID)wcstoul(szBuffer, &ptr, 16);
+        if (lcid == 0)
+            goto done;
+    }
+    else
+    {
+        lcid = *pNewLcid;
+
+        swprintf(szBuffer, L"%08lx", lcid);
+        RegSetValueExW(hLocaleKey,
+                       L"Locale",
+                       0,
+                       REG_SZ,
+                       (PBYTE)szBuffer,
+                       (wcslen(szBuffer) + 1) * sizeof(WCHAR));
+    }
+
+    i = 0;
+    while (LocaleData[i].pValue != NULL)
+    {
+        if (GetLocaleInfo(lcid,
+                          LocaleData[i].LCType | LOCALE_NOUSEROVERRIDE,
+                          szBuffer,
+                          sizeof(szBuffer) / sizeof(WCHAR)))
+        {
+            RegSetValueExW(hLocaleKey,
+                           LocaleData[i].pValue,
+                           0,
+                           REG_SZ,
+                           (PBYTE)szBuffer,
+                           (wcslen(szBuffer) + 1) * sizeof(WCHAR));
+        }
+
+        i++;
+    }
+
+done:
+    RegCloseKey(hLocaleKey);
+}
+
+
+VOID
+CenterWindow(HWND hWnd)
+{
+    HWND hWndParent;
+    RECT rcParent;
+    RECT rcWindow;
+
+    hWndParent = GetParent(hWnd);
+    if (hWndParent == NULL)
+        hWndParent = GetDesktopWindow();
+
+    GetWindowRect(hWndParent, &rcParent);
+    GetWindowRect(hWnd, &rcWindow);
+
+    SetWindowPos(hWnd,
+                 HWND_TOP,
+                 ((rcParent.right - rcParent.left) - (rcWindow.right - rcWindow.left)) / 2,
+                 ((rcParent.bottom - rcParent.top) - (rcWindow.bottom - rcWindow.top)) / 2,
+                 0,
+                 0,
+                 SWP_NOSIZE);
+}
+
+
+static
+VOID
+OnDrawItem(
+     LPDRAWITEMSTRUCT lpDrawItem,
+     PSTATE pState,
+     UINT uCtlID)
+{
+    HDC hdcMem;
+    LONG left;
+
+    if (lpDrawItem->CtlID == uCtlID)
+    {
+        /* position image in centre of dialog */
+        left = (lpDrawItem->rcItem.right - pState->ImageInfo.cxSource) / 2;
+
+        hdcMem = CreateCompatibleDC(lpDrawItem->hDC);
+        if (hdcMem != NULL)
+        {
+            SelectObject(hdcMem, pState->ImageInfo.hBitmap);
+            BitBlt(lpDrawItem->hDC,
+                   left,
+                   lpDrawItem->rcItem.top,
+                   lpDrawItem->rcItem.right - lpDrawItem->rcItem.left,
+                   lpDrawItem->rcItem.bottom - lpDrawItem->rcItem.top,
+                   hdcMem,
+                   0,
+                   0,
+                   SRCCOPY);
+            DeleteDC(hdcMem);
+        }
+    }
+}
+
+
+static
+INT_PTR
+CALLBACK
+LocaleDlgProc(
+    HWND hwndDlg,
+    UINT uMsg,
+    WPARAM wParam,
+    LPARAM lParam)
+{
+    PSTATE pState;
+
+    /* Retrieve pointer to the state */
+    pState = (PSTATE)GetWindowLongPtr (hwndDlg, GWL_USERDATA);
+
+    switch (uMsg)
+    {
+        case WM_INITDIALOG:
+            /* Save pointer to the global state */
+            pState = (PSTATE)lParam;
+            SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pState);
+
+            /* Center the dialog window */
+            CenterWindow (hwndDlg);
+            CreateLanguagesList(GetDlgItem(hwndDlg, IDC_LANGUAGELIST));
+
+            EnableWindow(GetDlgItem(hwndDlg, IDCANCEL), FALSE);
+            return FALSE;
+
+        case WM_DRAWITEM:
+            OnDrawItem((LPDRAWITEMSTRUCT)lParam,
+                       pState,
+                       IDC_LOCALELOGO);
+            return TRUE;
+
+        case WM_COMMAND:
+            if (HIWORD(wParam) == BN_CLICKED)
+            {
+                switch (LOWORD(wParam))
+                {
+                    case IDOK:
+                        {
+                        LCID NewLcid;
+                        INT iCurSel;
+
+                        iCurSel = SendDlgItemMessageW(hwndDlg,
+                                                     IDC_LANGUAGELIST,
+                                                     CB_GETCURSEL,
+                                                     0,
+                                                     0);
+                if (iCurSel == CB_ERR)
+                    break;
+
+                NewLcid = SendDlgItemMessageW(hwndDlg,
+                                              IDC_LANGUAGELIST,
+                                              CB_GETITEMDATA,
+                                              iCurSel,
+                                              0);
+                if (NewLcid == (LCID)CB_ERR)
+                    break;
+
+                            SetThreadLocale(NewLcid);
+                            InitializeDefaultUserLocale(&NewLcid);
+                        }
+
+                        pState->NextPage = STARTPAGE;
+                        EndDialog(hwndDlg, 0);
+                        break;
+
+                    default:
+                        break;
+                }
+            }
+            break;
+
+        default:
+            break;
+    }
+
+    return FALSE;
+}
+
+
+static
+INT_PTR
+CALLBACK
+StartDlgProc(
+    HWND hwndDlg,
+    UINT uMsg,
+    WPARAM wParam,
+    LPARAM lParam)
+{
+    PSTATE pState;
+
+    /* Retrieve pointer to the state */
+    pState = (PSTATE)GetWindowLongPtr (hwndDlg, GWL_USERDATA);
+
+    switch (uMsg)
+    {
+        case WM_INITDIALOG:
+            /* Save pointer to the state */
+            pState = (PSTATE)lParam;
+            SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pState);
+
+            /* Center the dialog window */
+            CenterWindow(hwndDlg);
+
+            EnableWindow(GetDlgItem(hwndDlg, IDCANCEL), FALSE);
+            return FALSE;
+
+        case WM_DRAWITEM:
+            OnDrawItem((LPDRAWITEMSTRUCT)lParam,
+                       pState,
+                       IDC_STARTLOGO);
+            return TRUE;
+
+        case WM_COMMAND:
+            if (HIWORD(wParam) == BN_CLICKED)
+            {
+                switch (LOWORD(wParam))
+                {
+                    case IDC_RUN:
+                        pState->NextPage = DONE;
+                        pState->Run = SHELL;
+                        EndDialog(hwndDlg, 0);
+                        break;
+
+                    case IDC_INSTALL:
+                        pState->NextPage = DONE;
+                        pState->Run = INSTALLER;
+                        EndDialog(hwndDlg, 0);
+                        break;
+
+                    case IDOK:
+                        pState->NextPage = LOCALEPAGE;
+                        EndDialog(hwndDlg, 0);
+                        break;
+
+                    default:
+                        break;
+                }
+            }
+            break;
+
+        default:
+            break;
+    }
+
+    return FALSE;
+}
+
+
+VOID
+RunLiveCD(
+    PSTATE pState)
+{
+    InitImageInfo(&pState->ImageInfo);
+
+    while (pState->NextPage != DONE)
+    {
+        switch (pState->NextPage)
+        {
+            case LOCALEPAGE:
+                DialogBoxParam(hInstance,
+                               MAKEINTRESOURCE(IDD_LOCALEPAGE),
+                               NULL,
+                               LocaleDlgProc,
+                               (LPARAM)pState);
+                break;
+
+            case STARTPAGE:
+                DialogBoxParam(hInstance,
+                               MAKEINTRESOURCE(IDD_STARTPAGE),
+                               NULL,
+                               StartDlgProc,
+                               (LPARAM)pState);
+                break;
+
+            default:
+                break;
+        }
+    }
+
+    DeleteObject(pState->ImageInfo.hBitmap);
+}
+
+/* EOF */
diff --git a/reactos/base/system/userinit/res/rosbitmap.bmp b/reactos/base/system/userinit/res/rosbitmap.bmp
new file mode 100644 (file)
index 0000000..8a94a6e
Binary files /dev/null and b/reactos/base/system/userinit/res/rosbitmap.bmp differ
index 7457e57..ad711bc 100644 (file)
@@ -1,4 +1,33 @@
 #pragma once
 
 #define RC_STRING_MAX_SIZE   2048
-#define STRING_USERINIT_FAIL 100
+
+/* Bitmaps */
+#define IDB_ROSLOGO          100
+
+#define IDC_STATIC -1
+
+
+/* Dialogs */
+#define IDD_LOCALEPAGE       200
+#define IDC_LOCALELOGO       201
+#define IDC_LANGUAGELIST     202
+#define IDC_FORMATLIST       203
+#define IDC_LAYOUTLIST       204
+
+#define IDD_STARTPAGE        300
+#define IDC_STARTLOGO        301
+#define IDC_RUN              302
+#define IDC_INSTALL          303
+#define IDC_UPDATE           304
+#define IDC_REPAIR           305
+
+
+/* Strings */
+#define IDS_SHELL_FAIL       600
+#define IDS_INSTALLER_FAIL   601
+
+
+
+
+#define IDS_SPAIN 3900
\ No newline at end of file
index 430452f..5aeeede 100644 (file)
  *              Hervé Poussineau (hpoussin@reactos.org)
  */
 
-#define WIN32_NO_STATUS
-#define _INC_WINDOWS
-#define COM_NO_WINDOWS_H
-#include <stdarg.h>
-#include <windef.h>
-#include <winbase.h>
-#include <winreg.h>
-#include <wingdi.h>
-#include <wincon.h>
-#include <shellapi.h>
-#include <regstr.h>
-#include <shlobj.h>
-#include <shlwapi.h>
-#include <undocuser.h>
-#include <wine/debug.h>
-
-#include "resource.h"
-
-WINE_DEFAULT_DEBUG_CHANNEL(userinit);
+#include "userinit.h"
 
 #define CMP_MAGIC  0x01234567
 
 /* GLOBALS ******************************************************************/
 
+HINSTANCE hInstance;
+
+
 /* FUNCTIONS ****************************************************************/
 
-static LONG
+LONG
 ReadRegSzKey(
     IN HKEY hKey,
     IN LPCWSTR pszKey,
-    OUT LPWSTRpValue)
+    OUT LPWSTR *pValue)
 {
     LONG rc;
     DWORD dwType;
@@ -382,7 +367,7 @@ VOID StartShell(VOID)
     if (!TryToStartShell(Shell))
     {
         WARN("Failed to start default shell %s\n", debugstr_w(Shell));
-        LoadString( GetModuleHandle(NULL), STRING_USERINIT_FAIL, szMsg, sizeof(szMsg) / sizeof(szMsg[0]));
+        LoadString( GetModuleHandle(NULL), IDS_SHELL_FAIL, szMsg, sizeof(szMsg) / sizeof(szMsg[0]));
         MessageBox(0, szMsg, NULL, 0);
     }
 }
@@ -548,6 +533,27 @@ NotifyLogon(VOID)
         WARN("LoadLibrary() failed with error %lu\n", GetLastError());
 }
 
+static
+VOID
+StartInstaller(VOID)
+{
+    WCHAR Shell[MAX_PATH];
+    WCHAR szMsg[RC_STRING_MAX_SIZE];
+
+    if (GetWindowsDirectory(Shell, MAX_PATH - 12))
+        wcscat(Shell, L"\\reactos.exe");
+    else
+        wcscpy(Shell, L"reactos.exe");
+
+    if (!TryToStartShell(Shell))
+    {
+        ERR("Failed to start the installer: %s\n", debugstr_w(Shell));
+        LoadStringW(GetModuleHandle(NULL), IDS_INSTALLER_FAIL, szMsg, sizeof(szMsg) / sizeof(szMsg[0]));
+        MessageBoxW(0, szMsg, NULL, 0);
+    }
+}
+
+
 #ifdef _MSC_VER
 #pragma warning(disable : 4100)
 #endif /* _MSC_VER */
@@ -558,9 +564,38 @@ wWinMain(IN HINSTANCE hInst,
          IN LPWSTR lpszCmdLine,
          IN int nCmdShow)
 {
+    STATE State;
+
+    hInstance = hInst;
+
     SetUserSettings();
-    StartShell();
-    NotifyLogon();
+
+    if (IsLiveCD())
+    {
+        State.NextPage = LOCALEPAGE;
+        State.Run = SHELL;
+    }
+    else
+    {
+        State.NextPage = DONE;
+        State.Run = SHELL;
+    }
+
+    if (State.NextPage != DONE)
+    {
+        RunLiveCD(&State);
+    }
+
+    if (State.Run == SHELL)
+    {
+        StartShell();
+        NotifyLogon();
+    }
+    else if (State.Run == INSTALLER)
+    {
+        StartInstaller();
+    }
+
     return 0;
 }
 
diff --git a/reactos/base/system/userinit/userinit.h b/reactos/base/system/userinit/userinit.h
new file mode 100644 (file)
index 0000000..60d4310
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ */
+
+#ifndef __USERINIT_H__
+#define __USERINIT_H__
+
+#define WIN32_NO_STATUS
+#define _INC_WINDOWS
+#define COM_NO_WINDOWS_H
+#include <stdarg.h>
+#include <windef.h>
+#include <winbase.h>
+#include <winreg.h>
+#include <wingdi.h>
+#include <wincon.h>
+#include <shellapi.h>
+#include <regstr.h>
+#include <shlobj.h>
+#include <shlwapi.h>
+#include <undocuser.h>
+#include <winnls.h>
+#include <stdio.h>
+
+#include <wine/debug.h>
+WINE_DEFAULT_DEBUG_CHANNEL(userinit);
+
+#include "resource.h"
+
+
+typedef enum
+{
+    LOCALEPAGE,
+    STARTPAGE,
+    DONE
+} PAGESTATE;
+
+typedef enum
+{
+    SHELL,
+    INSTALLER
+} RUN;
+
+typedef struct _IMGINFO
+{
+    HBITMAP hBitmap;
+    INT cxSource;
+    INT cySource;
+} IMGINFO, *PIMGINFO;
+
+typedef struct
+{
+    PAGESTATE NextPage;
+    RUN Run;
+    IMGINFO ImageInfo;
+} STATE, *PSTATE;
+
+
+extern HINSTANCE hInstance;
+
+LONG
+ReadRegSzKey(
+    IN HKEY hKey,
+    IN LPCWSTR pszKey,
+    OUT LPWSTR *pValue);
+
+BOOL
+IsLiveCD(VOID);
+
+
+VOID
+RunLiveCD(
+    PSTATE State);
+
+#endif /* __USERINIT_H__ */
index dc3636a..65eb27e 100644 (file)
@@ -1,4 +1,5 @@
 #include <windef.h>
+#include <winuser.h>
 
 #include "resource.h"
 
@@ -7,6 +8,10 @@
 #define REACTOS_STR_ORIGINAL_FILENAME "userinit.dll"
 #include <reactos/version.rc>
 
+/* Bitmaps */
+IDB_ROSLOGO BITMAP "res/rosbitmap.bmp"
+
+
 /* UTF-8 */
 #pragma code_page(65001)