mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 04:43:21 +00:00
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys.
This commit is contained in:
parent
b94e2d8ca0
commit
c2c66aff7d
24198 changed files with 0 additions and 37285 deletions
0
base/setup/.gitignore
vendored
Normal file
0
base/setup/.gitignore
vendored
Normal file
5
base/setup/CMakeLists.txt
Normal file
5
base/setup/CMakeLists.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
|
||||
add_subdirectory(reactos)
|
||||
add_subdirectory(setup)
|
||||
add_subdirectory(usetup)
|
||||
add_subdirectory(welcome)
|
14
base/setup/reactos/CMakeLists.txt
Normal file
14
base/setup/reactos/CMakeLists.txt
Normal file
|
@ -0,0 +1,14 @@
|
|||
|
||||
list(APPEND SOURCE
|
||||
drivepage.c
|
||||
reactos.c
|
||||
reactos.h)
|
||||
|
||||
file(GLOB reactos_rc_deps res/*.*)
|
||||
add_rc_deps(reactos.rc ${reactos_rc_deps})
|
||||
add_executable(reactos ${SOURCE} reactos.rc)
|
||||
add_pch(reactos reactos.h SOURCE)
|
||||
target_link_libraries(reactos uuid)
|
||||
set_module_type(reactos win32gui UNICODE)
|
||||
add_importlibs(reactos advapi32 gdi32 user32 comctl32 setupapi msvcrt kernel32 ntdll)
|
||||
add_cd_file(TARGET reactos DESTINATION reactos NO_CAB FOR bootcd)
|
269
base/setup/reactos/drivepage.c
Normal file
269
base/setup/reactos/drivepage.c
Normal file
|
@ -0,0 +1,269 @@
|
|||
/*
|
||||
* ReactOS applications
|
||||
* Copyright (C) 2004-2008 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS GUI first stage setup application
|
||||
* FILE: base/setup/reactos/drivepage.c
|
||||
* PROGRAMMERS: Eric Kohl
|
||||
* Matthias Kupfer
|
||||
* Dmitry Chapyshev (dmitry@reactos.org)
|
||||
*/
|
||||
|
||||
#include "reactos.h"
|
||||
#include "resource.h"
|
||||
|
||||
/* GLOBALS ******************************************************************/
|
||||
|
||||
#define MAX_LIST_COLUMNS (IDS_LIST_COLUMN_LAST - IDS_LIST_COLUMN_FIRST + 1)
|
||||
static const int default_column_widths[MAX_LIST_COLUMNS] = {200, 150, 150};
|
||||
static const int column_alignment[MAX_LIST_COLUMNS] = {LVCFMT_LEFT, LVCFMT_LEFT, LVCFMT_LEFT};
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
static INT_PTR CALLBACK
|
||||
MoreOptDlgProc(HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
PSETUPDATA pSetupData;
|
||||
|
||||
/* Retrieve pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)GetWindowLongPtr (hwndDlg, GWL_USERDATA);
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
/* Save pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
|
||||
SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
|
||||
|
||||
CheckDlgButton(hwndDlg, IDC_INSTFREELDR, BST_CHECKED);
|
||||
SendMessage(GetDlgItem(hwndDlg, IDC_PATH),
|
||||
WM_SETTEXT,
|
||||
(WPARAM)0,
|
||||
(LPARAM)pSetupData->InstallDir);
|
||||
break;
|
||||
|
||||
case WM_COMMAND:
|
||||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDOK:
|
||||
SendMessage(GetDlgItem(hwndDlg, IDC_PATH),
|
||||
WM_GETTEXT,
|
||||
(WPARAM)sizeof(pSetupData->InstallDir) / sizeof(TCHAR),
|
||||
(LPARAM)pSetupData->InstallDir);
|
||||
|
||||
EndDialog(hwndDlg, IDOK);
|
||||
return TRUE;
|
||||
|
||||
case IDCANCEL:
|
||||
EndDialog(hwndDlg, IDCANCEL);
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static INT_PTR CALLBACK
|
||||
PartitionDlgProc(HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
break;
|
||||
case WM_COMMAND:
|
||||
{
|
||||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDOK:
|
||||
EndDialog(hwndDlg, IDOK);
|
||||
return TRUE;
|
||||
case IDCANCEL:
|
||||
EndDialog(hwndDlg, IDCANCEL);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
BOOL
|
||||
CreateListViewColumns(
|
||||
HINSTANCE hInstance,
|
||||
HWND hWndListView)
|
||||
{
|
||||
WCHAR szText[50];
|
||||
int index;
|
||||
LVCOLUMN lvC;
|
||||
|
||||
/* Create columns. */
|
||||
lvC.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
|
||||
lvC.pszText = szText;
|
||||
|
||||
/* Load the column labels from the resource file. */
|
||||
for (index = 0; index < MAX_LIST_COLUMNS; index++)
|
||||
{
|
||||
lvC.iSubItem = index;
|
||||
lvC.cx = default_column_widths[index];
|
||||
lvC.fmt = column_alignment[index];
|
||||
|
||||
LoadStringW(hInstance, IDS_LIST_COLUMN_FIRST + index, szText, 50);
|
||||
|
||||
if (ListView_InsertColumn(hWndListView, index, &lvC) == -1)
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
INT_PTR
|
||||
CALLBACK
|
||||
DriveDlgProc(
|
||||
HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
PSETUPDATA pSetupData;
|
||||
#if 1
|
||||
HDEVINFO h;
|
||||
HWND hList;
|
||||
SP_DEVINFO_DATA DevInfoData;
|
||||
DWORD i;
|
||||
#endif
|
||||
|
||||
/* Retrieve pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)GetWindowLongPtr (hwndDlg, GWL_USERDATA);
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
/* Save pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
|
||||
SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
|
||||
|
||||
CreateListViewColumns(pSetupData->hInstance,
|
||||
GetDlgItem(hwndDlg, IDC_PARTITION));
|
||||
|
||||
#if 1
|
||||
h = SetupDiGetClassDevs(&GUID_DEVCLASS_DISKDRIVE, NULL, NULL, DIGCF_PRESENT);
|
||||
if (h != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
hList =GetDlgItem(hwndDlg, IDC_PARTITION);
|
||||
DevInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
|
||||
for (i=0; SetupDiEnumDeviceInfo(h, i, &DevInfoData); i++)
|
||||
{
|
||||
DWORD DataT;
|
||||
LPTSTR buffer = NULL;
|
||||
DWORD buffersize = 0;
|
||||
|
||||
while (!SetupDiGetDeviceRegistryProperty(h,
|
||||
&DevInfoData,
|
||||
SPDRP_DEVICEDESC,
|
||||
&DataT,
|
||||
(PBYTE)buffer,
|
||||
buffersize,
|
||||
&buffersize))
|
||||
{
|
||||
if (GetLastError() == ERROR_INSUFFICIENT_BUFFER)
|
||||
{
|
||||
if (buffer) LocalFree(buffer);
|
||||
buffer = LocalAlloc(LPTR, buffersize * 2);
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
if (buffer)
|
||||
{
|
||||
SendMessage(hList, LB_ADDSTRING, (WPARAM) 0, (LPARAM) buffer);
|
||||
LocalFree(buffer);
|
||||
}
|
||||
}
|
||||
SetupDiDestroyDeviceInfoList(h);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_COMMAND:
|
||||
{
|
||||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDC_PARTMOREOPTS:
|
||||
DialogBoxParam(pSetupData->hInstance,
|
||||
MAKEINTRESOURCE(IDD_BOOTOPTIONS),
|
||||
hwndDlg,
|
||||
(DLGPROC)MoreOptDlgProc,
|
||||
(LPARAM)pSetupData);
|
||||
break;
|
||||
case IDC_PARTCREATE:
|
||||
DialogBox(pSetupData->hInstance,
|
||||
MAKEINTRESOURCE(IDD_PARTITION),
|
||||
hwndDlg,
|
||||
(DLGPROC) PartitionDlgProc);
|
||||
break;
|
||||
case IDC_PARTDELETE:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_NOTIFY:
|
||||
{
|
||||
LPNMHDR lpnm = (LPNMHDR)lParam;
|
||||
|
||||
switch (lpnm->code)
|
||||
{
|
||||
case PSN_SETACTIVE:
|
||||
PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_NEXT | PSWIZB_BACK);
|
||||
break;
|
||||
|
||||
case PSN_QUERYCANCEL:
|
||||
SetWindowLongPtr(hwndDlg,
|
||||
DWL_MSGRESULT,
|
||||
MessageBox(GetParent(hwndDlg),
|
||||
pSetupData->szAbortMessage,
|
||||
pSetupData->szAbortTitle,
|
||||
MB_YESNO | MB_ICONQUESTION) != IDYES);
|
||||
return TRUE;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* EOF */
|
137
base/setup/reactos/lang/bg-BG.rc
Normal file
137
base/setup/reactos/lang/bg-BG.rc
Normal file
|
@ -0,0 +1,137 @@
|
|||
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Настройка на РеактОС"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Съветникът за настройка на РеактОС ви приветства!", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Все още не можете да сложите РеактОС направо от този КД! Презапуснете компютъра с този КД, за да сложите РеактОС.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Натиснете „Приключване“ за изход от настройването.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Настройка на РеактОС"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Слагане на РеактОС", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Поправка или осъвременяване на сложен РеактОС", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Натиснете „Напред“ за настройка на устройствата.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Настройка на РеактОС"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Компютър:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 150, 80
|
||||
LTEXT " Екран:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 150, 80
|
||||
LTEXT "Клавиатура", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 150, 80
|
||||
LTEXT "Натиснете „Напред“ за избор на устройство за слагане.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Настройка на РеактОС"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Създаване", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "Из&триване", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "Драйвер", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "Раз&ширани възможности...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Натиснете „Напред“, за да започне слагането.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Създаване на дял"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Създаване и форматиране на дял", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Размер:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "ГБ", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Файлова уредба:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&Добре", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Отказ", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Разширени дялови настройски"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Папка за слагане", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Слагане на зареждач", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Слагане на начален зареждач (MBR и VBR) на твърдия диск", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Слагане на начален зареждач (само VBR) на твърдия диск", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Без слагане на начален зареждач", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&Добре", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Отказ", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Слагане на РеактОС"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Натиснете „Напред“ за за начало на слагането.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Настройка на РеактОС"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Слагане на файлове...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Завършване настройката на РеактОС"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Първата степен от настройването на РеактОС приключи успешно.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Когато натиснете „Край”, компютърът ви ще се презапусне.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Ако в устройството има КД, го извадете. След това натиснете „Приключване“, за да презапуснете компютъра.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "РеактОС ви приветства!"
|
||||
IDS_TYPESUBTITLE "Изберете вид на настройването."
|
||||
IDS_DEVICETITLE "Настройване на основните устройства"
|
||||
IDS_DEVICESUBTITLE "Настройка на екрана и клавиатурата."
|
||||
IDS_DRIVETITLE "Приготвяне на дял за слагане и системна папка"
|
||||
IDS_DRIVESUBTITLE "Приготвяне на дял за слагане, системна папка и зареждач."
|
||||
IDS_PROCESSTITLE "Подготвяне на дял, презапис на файлове и настройване на уредбата"
|
||||
IDS_PROCESSSUBTITLE "Създаване и оразмеряване на дял, презапис на файлове, слагане и настройка на зареждач"
|
||||
IDS_RESTARTTITLE "Първата степен на настройването приключи"
|
||||
IDS_RESTARTSUBTITLE "Първата степен приключи, презапуснете, за да продължите към втора степен"
|
||||
IDS_SUMMARYTITLE "Обобщение на слагането"
|
||||
IDS_SUMMARYSUBTITLE "Списък на възможностите за слагане за проверка преди прилагане върху устройството за слагане"
|
||||
IDS_ABORTSETUP "РеактОС не е напълно сложен на компютъра ви. Ако излезете от настройването сега, ще трябва да пуснете настройването отново, за да сложите Реактос. Наистина ли излизате?"
|
||||
IDS_ABORTSETUP2 "Прекъсване на слагането?"
|
||||
IDS_NO_TXTSETUP_SIF "Unable to find 'txtsetup.sif'\nSetup is unable to continue."
|
||||
IDS_CAPTION "Настройка на РеактОС"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
143
base/setup/reactos/lang/cs-CZ.rc
Normal file
143
base/setup/reactos/lang/cs-CZ.rc
Normal file
|
@ -0,0 +1,143 @@
|
|||
/* FILE: base/setup/reactos/lang/cs-CZ.rc
|
||||
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
|
||||
* THANKS TO: kario for introducing the file
|
||||
* UPDATED: 2011-03-31
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalace systému ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Vítejte v průvodci instalace systému ReactOS.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Systém ReactOS zatím nelze nainstalovat přímo z tohoto CD! Pro instalaci restartuje počítač z tohoto CD.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Klepnutím na Dokončit ukončíte instalaci.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalace systému ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Nainstalovat systém ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Instalovat novou kopii systému ReactOS. Tato možnost odstraní Vaše soubory, nastavení a programy. Můžete provést úpravu disků a oddílů.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Opravit nebo aktualizovat již nainstalovaný systém ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Aktualizovat nebo opravit kopii systémy ReactOS. Tato možnost zachová Vaše soubory, nastavení a programy. Tato možnost je dostupná pouze pokud je již na Vašem počítači systém ReactOS nainstalován.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Po klepnutí na Další bude možné nastavit zařízení.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalace systému ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Počítač:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 150, 80
|
||||
LTEXT "Obrazovka:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 150, 80
|
||||
LTEXT "Klávesnice:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 150, 80
|
||||
LTEXT "Po klepnutí na Další bude možné nastavit instalační zařízení.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalace systému ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Vytvořit", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Smazat", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "&Ovladač", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "&Pokročilé volby...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Po klepnutí na Další bude možné zkontrolovat všechna nastavení.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Vytvořit oddíl"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Vytvořit a naformátovat oddíl", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Velikost:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Souborový systém:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Storno", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Pokročilá nastavení oddílu"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Instalační složka", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Instalace zavaděče", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Nainstalovat zavaděč na pevný disk (MBR a VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Nainstalovat zavaděč na pevný disk (jen VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Zavaděč neinstalovat", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Storno", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalace systému ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Klepnutím na Další zahájíte instalační proces.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalace systému ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Instalace souborů...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Dokončení instalace systému ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "První část instalace systému ReactOS byla úspěšně dokončena.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Po klepnutí na Dokončit bude počítač restartován.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Pokud je v mechanice instalační CD, vyjměte jej. Poté kliknutím na Dokončit restartujte počítač.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Vítejte v průvodci instalace systému ReactOS"
|
||||
IDS_TYPESUBTITLE "Volba typu instalace."
|
||||
IDS_DEVICETITLE "Nastavení základních zařízení"
|
||||
IDS_DEVICESUBTITLE "Volba nastavení obrazovky a klávesnice."
|
||||
IDS_DRIVETITLE "Nastavení instalačního oddílu a systémové složky"
|
||||
IDS_DRIVESUBTITLE "Příprava instalačního oddílu, systémové složky a zavaděče."
|
||||
IDS_PROCESSTITLE "Příprava oddílu, kopírování souborů a nastavení systému"
|
||||
IDS_PROCESSSUBTITLE "Vytvoření a naformátování oddílu, kopírování souborů, instalace a nastavení zavaděče"
|
||||
IDS_RESTARTTITLE "První část instalace dokončena"
|
||||
IDS_RESTARTSUBTITLE "První část instalace byla dokončena, po restartování počítače se bude pokračovat druhou částí"
|
||||
IDS_SUMMARYTITLE "Shrnutí instalace"
|
||||
IDS_SUMMARYSUBTITLE "Výpis voleb instalace k ověření před tím, než začne instalace"
|
||||
IDS_ABORTSETUP "Systém ReactOS není na tomto počítači kompletně nainstalovaný. Pokud nyní ukončíte instalaci, bude ji pro nainstalování systému ReactOS nutné provést znova. Opravdu ukončit?"
|
||||
IDS_ABORTSETUP2 "Přerušit instalaci?"
|
||||
IDS_NO_TXTSETUP_SIF "Soubor 'txtsetup.sif' nenalezen.\nInstalace nemůže pokračovat.."
|
||||
IDS_CAPTION "Instalace systému ReactOS"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
137
base/setup/reactos/lang/de-DE.rc
Normal file
137
base/setup/reactos/lang/de-DE.rc
Normal file
|
@ -0,0 +1,137 @@
|
|||
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS-Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Willkommen beim ReactOS-Setup-Assistenten.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "ReactOS kann noch nicht direkt von dieser CD installiert werden! Bitte starten Sie Ihren Computer mit dieser CD um ReactOS zu installieren.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Klicken Sie auf Beenden um das Setup zu verlassen.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS-Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Installiere ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Installiert eine neue Kopie von ReactOS. Diese Option behält nicht Ihre Dateien, Einstellungen und Programme bei. Sie können Änderungen an Festplatten und Partitionen durchführen.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Aktualisiere oder repariere ein installiertes ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Aktualisieren oder reparieren einer installierten Kopie von ReactOS. Diese Option behält Ihre Dateien, Einstellungen und Programme bei. Diese Option ist nur verfügbar, wenn ReactOS bereits auf diesem Computer installiert ist.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Klicken Sie auf Weiter um die Geräte einzustellen.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS-Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Computer:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "Anzeige:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "Tastatur:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "Klicken Sie auf Weiter um den Installationsort zu konfigurieren.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS-Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Erstellen", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Löschen", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "&Treiber", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "E&rweiterte Optionen...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Klicken Sie auf Weiter um die Zusammenfassung zu überprüfen.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Erstelle Partition"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Erstelle und formatiere Partition", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Größe:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Dateisystem:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Abbrechen", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Erweiterte Partitionseinstellungen"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Installationsverzeichnis", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Bootloader-Installation", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Installiere Bootloader auf Festplatte (MBR und VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Installiere Bootloader auf Festplatte (nur VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Keine Bootloader-Installation", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Abbrechen", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS-Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Klicken Sie auf Weiter um die Installation zu starten.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS-Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Installation der Dateien...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Vervollständige ReactOS-Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Sie haben die erste Stufe des ReactOS-Setup erfolgreich abgeschlossen.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Wenn Sie auf Beenden klicken, wird der Computer neu gestartet.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Wenn eine CD im Laufwerk ist, entfernen Sie sie. Klicken Sie zum Neustart auf Beenden.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Willkommen zum ReactOS-Setup"
|
||||
IDS_TYPESUBTITLE "Wählen Sie einen Setuptyp."
|
||||
IDS_DEVICETITLE "Einstellen der Basisgeräte"
|
||||
IDS_DEVICESUBTITLE "Einstellungen der Anzeigegeräte und der Tastatur."
|
||||
IDS_DRIVETITLE "Richte Installationspartition und Systemverzeichnis ein"
|
||||
IDS_DRIVESUBTITLE "Vorbereiten von Installationspartition, Systemverzeichnis und Bootloader."
|
||||
IDS_PROCESSTITLE "Richte Partition ein, kopiere Dateien und richte System ein."
|
||||
IDS_PROCESSSUBTITLE "Erstelle und formatiere Partition, kopiere Dateien, installiere und konfiguriere Bootloader"
|
||||
IDS_RESTARTTITLE "Erste Stufe des Setup wurde abgeschlossen."
|
||||
IDS_RESTARTSUBTITLE "Die erste Stufe des Setup wurde abgeschlossen, starten Sie den Rechner neu, um mit der zweiten Stufe fortzufahren."
|
||||
IDS_SUMMARYTITLE "Installationszusammenfassung"
|
||||
IDS_SUMMARYSUBTITLE "Liste alle Installationseinstellungen vor Anwendung auf die Geräte auf"
|
||||
IDS_ABORTSETUP "ReactOS ist nicht vollständig auf Ihrem Computer installiert. Wenn Sie das Setup verlassen, dann müssen Sie das Setup nochmals ausführen, um ReactOS zu installieren. Wirklich beenden?"
|
||||
IDS_ABORTSETUP2 "Installation abbrechen?"
|
||||
IDS_NO_TXTSETUP_SIF "Die Datei 'txtsetup.sif' konnte nicht gefunden werden.\nSetup kann nicht fortfahren."
|
||||
IDS_CAPTION "ReactOS Setup"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
137
base/setup/reactos/lang/el-GR.rc
Normal file
137
base/setup/reactos/lang/el-GR.rc
Normal file
|
@ -0,0 +1,137 @@
|
|||
LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Εγκατάσταση του ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Καλώς ήλθατε στον οδηγό εγκατάστασης του ReactOS.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Δε μπορείτε να εγκαταστήσετε το ReactOS απευθείας από αυτό το CD ακόμα! Παρακαλούμε επανεκκινήστε τον υπολογιστή σας από αυτό το CD για να μπορέσετε να εγκαταστήσετε το ReactOS.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Πατήστε Ολοκλήρωση για να βγείτε από την Εγκατάσταση.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Εγκατάσταση του ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Install ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Update or repair an installed ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Πατήστε Επόμενο για να ρυθμίσετε τις συσκευές.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Εγκατάσταση του ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Υπολογιστής:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 150, 80
|
||||
LTEXT "Εμφάνιση:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 150, 80
|
||||
LTEXT "Πληκτρολόγιο:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 150, 80
|
||||
LTEXT "Click Next setup of the installation device.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Εγκατάσταση του ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Δημιουργία", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Διαγραφή", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "D&river", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "&Επιλογές για προχωρημένους...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Πατήστε Επόμενο για να ξεκινήσετε τη διαδικασία εγκατάστασης.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Δημιουργία Partition"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Create and format partition", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Μέγεθος:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Τύπος συστήματος:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Άκυρο", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Ρυθμίσεις Partition για προχωρημένους"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Φάκελος εγκατάστασης", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Εγκατάσταση Boot loader", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Εγκατάσταση boot loader στο σκληρό δίσκο (MBR and VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Εγκατάσταση boot loader στο σκληρό δίσκο (VBR only)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Να μη γίνει εγκατάσταση του bootloader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Άκυρο", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Click Next to start the installation process.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Εγκατάσταση του ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Install files...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Ολοκληρώνεται η εγκατάσταση του ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Ολοκληρώσατε επιτυχώς το πρώτο στάδιο της εγκατάστασης του ReactOS.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Όταν πατήσετε Ολοκλήρωση, θα γίνει επανεκκίνηση του υπολογιστή σας.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Αν υπάρχει κάποιο CD, αφαιρέστε το. Έπειτα, για να γίνει επανεκκίνηση, πατήστε Ολοκλήρωση.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Καλώς ήλθατε στην Εγκατάσταση του ReactOS"
|
||||
IDS_TYPESUBTITLE "Επιλέξτε τύπο εγκατάστασης."
|
||||
IDS_DEVICETITLE "Setup the basic devices"
|
||||
IDS_DEVICESUBTITLE "Ορισμός ρυθμίσεων για εμφάνιση και πληκτρολόγιο."
|
||||
IDS_DRIVETITLE "Ρύθμιση του partition εγκατάστασης και του φακέλου συστήματος"
|
||||
IDS_DRIVESUBTITLE "Προετοιμασία του partition εγκατάστασης, φακέλου συστήματος και boot loader."
|
||||
IDS_PROCESSTITLE "Prepare partition, copy files and setup system"
|
||||
IDS_PROCESSSUBTITLE "Create and format partition, copy files, install and setup boot loader"
|
||||
IDS_RESTARTTITLE "Το πρώτο στάδιο της εγκατάστασης ολοκληρώθηκε"
|
||||
IDS_RESTARTSUBTITLE "Το πρώτο στάδιο της εγκατάστασης ολοκληρώθηκε, κάντε επανεκκίνηση για να συνεχίσετε με το δεύτερο στάδιο."
|
||||
IDS_SUMMARYTITLE "Installation Summary"
|
||||
IDS_SUMMARYSUBTITLE "List installation properties to check before apply to the installation device"
|
||||
IDS_ABORTSETUP "ReactOS is not completely installed on your computer. If you quit Setup now, you will need to run Setup again to install ReactOS. Really quit?"
|
||||
IDS_ABORTSETUP2 "Abort installation?"
|
||||
IDS_NO_TXTSETUP_SIF "Unable to find 'txtsetup.sif'\nSetup is unable to continue."
|
||||
IDS_CAPTION "ReactOS Setup"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
137
base/setup/reactos/lang/en-US.rc
Normal file
137
base/setup/reactos/lang/en-US.rc
Normal file
|
@ -0,0 +1,137 @@
|
|||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Welcome to the ReactOS Setup Wizard.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "You cannot install ReactOS directly from this CD yet! Please restart your computer from this CD in order to install ReactOS.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Click Finish to exit the Setup.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Install ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Update or repair ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Click Next to continue.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Computer:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "Display:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "Keyboard:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "Click Next to setup of the installation device.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Create", IDC_PARTCREATE, 7, 122, 50, 14
|
||||
PUSHBUTTON "&Delete", IDC_PARTDELETE, 63, 122, 50, 14
|
||||
PUSHBUTTON "D&river", IDC_DEVICEDRIVER, 174, 122, 50, 14, WS_DISABLED
|
||||
PUSHBUTTON "&Advanced Options...", IDC_PARTMOREOPTS, 230, 122, 80, 14
|
||||
/* LTEXT "Click Next to check the summary.", IDC_STATIC, 7, 128, 277, 8 */
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Create Partition"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Create and format partition", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Size:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Filesystem:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Cancel", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Advanced Partition Settings"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Installation folder", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Boot loader installation", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Install boot loader on the hard disk (MBR and VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Install boot loader on the hard disk (VBR only)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "No installation of bootloader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Cancel", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Click Next to start the installation process.", IDC_STATIC, 7, 128, 303, 8
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Install files...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 7, 120, 303, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Completing ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "You have successfully completed the first stage of ReactOS Setup.", IDC_STATIC, 115, 50, 195, 10
|
||||
LTEXT "When you click Finish, your computer will restart.", IDC_STATIC, 115, 80, 195, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 115, 110, 195, 8
|
||||
LTEXT "If there is a CD in a drive, remove it. Then, to restart your computer, click Finish.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Welcome to ReactOS Setup"
|
||||
IDS_TYPESUBTITLE "Choose setup type."
|
||||
IDS_DEVICETITLE "Setup the basic devices"
|
||||
IDS_DEVICESUBTITLE "Set the settings of display and keyboard."
|
||||
IDS_DRIVETITLE "Setup the installation partition and system folder"
|
||||
IDS_DRIVESUBTITLE "Prepare installation partition, system folder and boot loader."
|
||||
IDS_PROCESSTITLE "Setup partition, copy files and setup system"
|
||||
IDS_PROCESSSUBTITLE "Create and format partition, copy files, install and setup boot loader"
|
||||
IDS_RESTARTTITLE "First stage of setup finished"
|
||||
IDS_RESTARTSUBTITLE "The first stage of setup has been completed, restart to continue with second stage"
|
||||
IDS_SUMMARYTITLE "Installation Summary"
|
||||
IDS_SUMMARYSUBTITLE "List installation properties to check before apply to the installation device"
|
||||
IDS_ABORTSETUP "ReactOS is not completely installed on your computer. If you quit Setup now, you will need to run Setup again to install ReactOS. Really quit?"
|
||||
IDS_ABORTSETUP2 "Abort installation?"
|
||||
IDS_NO_TXTSETUP_SIF "Unable to find 'txtsetup.sif'\nSetup is unable to continue"
|
||||
IDS_CAPTION "ReactOS Setup"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
139
base/setup/reactos/lang/es-ES.rc
Normal file
139
base/setup/reactos/lang/es-ES.rc
Normal file
|
@ -0,0 +1,139 @@
|
|||
/* Spanish translation by Javier Remacha <2008> */
|
||||
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalación de ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Bienvenido al Asistente de Instalación de ReactOS.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "¡Aún no puede instalar ReactOS directamente desde este CD! Por favor, reinicie su equipo desde este CD para instalar ReactOS.", IDC_STATIC, 115, 40, 200, 100
|
||||
LTEXT "Pulse Finalizar para salir del instalador.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalación de ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Instalar ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Actualizar o reparar una versión instalada de ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Presione Siguiente para instalar los dispositivos.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalación de ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Equipo:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 150, 80
|
||||
LTEXT "Pantalla:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 150, 80
|
||||
LTEXT "Teclado:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 150, 80
|
||||
LTEXT "Presione Siguiente para configurar la instalación de dispositivos.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalación de ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Crear", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Borrar", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "D&river", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "&Opciones avanzadas...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Presione Siguiente para verificar el resumen.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Crear Partición"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Crear y formatear una partición", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Tamaño:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Sistema de archivos:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&Aceptar", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Cancelar", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Ajustes avanzados de la partición"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Carpeta de instalación", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Instalación del cargador de arranque", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Instalar el cargador de arranque en el disco duro (MBR y VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Instalar el cargador de arranque en el disco duro (solo VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "No instalar el cargador de arranque", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&Aceptar", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Cancelar", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalación de ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Presione Siguiente para comenzar con el proceso de instalación.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalación de ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Instalando archivos...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Completando la instalación de ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "La primera parte de la instalación de ReactOS se ha completado satisfactoriamente.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Cuando presione Finalizar, su equipo será reiniciado.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Si hay un CD en alguna unidad, retírelo. Luego, para reiniciar su equipo, presione Finalizar.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Bienvenido a la instalación de ReactOS"
|
||||
IDS_TYPESUBTITLE "Seleccione el tipo de instalación."
|
||||
IDS_DEVICETITLE "Instalación de los dispositivos básicos"
|
||||
IDS_DEVICESUBTITLE "Seleccione los ajustes de la pantalla y el teclado."
|
||||
IDS_DRIVETITLE "Crear la partición para la instalación y la carpeta del sistema"
|
||||
IDS_DRIVESUBTITLE "Preparar la partición para la instalación, la carpeta del sistema y el cargador de arranque."
|
||||
IDS_PROCESSTITLE "Preparar partición, copiar archivos e instalar sistema"
|
||||
IDS_PROCESSSUBTITLE "Crear y formatear partición, copiar archivos, instalar e instalar el cargador de arranque"
|
||||
IDS_RESTARTTITLE "Primera parte de la instalación finalizada"
|
||||
IDS_RESTARTSUBTITLE "La primera parte de la instalación ha sido completada, reinicie para continuar con la segunda parte"
|
||||
IDS_SUMMARYTITLE "Resumen de la instalación"
|
||||
IDS_SUMMARYSUBTITLE "Lista las propiedades de la instalación para su verificación antes de aplicarlas al dispositivo instalado"
|
||||
IDS_ABORTSETUP "ReactOS no está completamente instalado en su equipo. Si sale de la instalación ahora, tendrá que ejecutar el instalador otra vez para instalar ReactOS. ¿Realmente quiere salir?"
|
||||
IDS_ABORTSETUP2 "¿Abortar instalación?"
|
||||
IDS_NO_TXTSETUP_SIF "Unable to find 'txtsetup.sif'\nSetup is unable to continue."
|
||||
IDS_CAPTION "Instalación de ReactOS"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
137
base/setup/reactos/lang/et-EE.rc
Normal file
137
base/setup/reactos/lang/et-EE.rc
Normal file
|
@ -0,0 +1,137 @@
|
|||
LANGUAGE LANG_ESTONIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Tere tulemast ReactOSi paigaldamisprogrammi.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Selle CD pealt ei saa praegu veel ReactOSi paigaldada! ReactOSi paigaldamiseks on tarvis arvuti taaskäivitada selle CD-ga.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Vajuta lõpeta, et installeerimine lõpetada.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOSi paigaldamine"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Installeeri ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Paranda või uuenda installeeritud ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Vajuta Järgmine, et seadmeid paigaldada.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOSi paigaldamine"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Arvuti:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "Monitor:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "Klaviatuur:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "Vajuta Järgmine, et seadistada sihtketas.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOSi paigaldamine"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Loo uus", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Kustuta", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "D&raiver", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "&Täpsemad seaded...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Vajuta Järgmine, et seaded üle kontrollida.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Partitsiooni loomine"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Loo ja vorminda ketas", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Suurus:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Failisüsteem:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&Olgu", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Tühista", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Täpsemad vormindamise seaded"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Paigaldamise kaust", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Alglaaduri paigaldamine", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Paigalda alglaadur kõvakettale (MBR and VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Paigalda alglaadur kõvakettale (VBR only)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Ära paigalda alglaadurit", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&Olgu", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Tühista", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOSi paigaldamine"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Vajuta Järgmine, et paigaldamist alustada.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOSi paigaldamine"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Install files...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOSi paigaldamise lõpetamine"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "ReactOSi paigaldamise esimene järk on edukalt lõpetatud.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Vajuta Lõpeta, et arvuti taaskäivitada.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Võta CD välja ja vajuta Lõpeta, et arvuti taaskäivitada.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Tere tulemast ReactOSi paigaldama"
|
||||
IDS_TYPESUBTITLE "Vali paigalduse tüüp."
|
||||
IDS_DEVICETITLE "Põhiliste seadmete paigaldamine"
|
||||
IDS_DEVICESUBTITLE "Monitori ja klaviatuuri seadistamine."
|
||||
IDS_DRIVETITLE "Partitsioonide ja süsteemikausta seadistamine"
|
||||
IDS_DRIVESUBTITLE "Sihtpartitsiooni, süsteemikausta ja alglaaduri ettevalmistamine."
|
||||
IDS_PROCESSTITLE "Partitsiooni ettevalmistamine, failide kopeerimine ja süsteemi üles seadmine"
|
||||
IDS_PROCESSSUBTITLE "Partitsiooni loomine ja vormindamine, failide kopeerimine, alglaaduri seadistamine"
|
||||
IDS_RESTARTTITLE "Paigaldamise esimene järk lõpetatud"
|
||||
IDS_RESTARTSUBTITLE "Paigaldamise esimene järk on lõpetatud, teise järgu alustamiseks taaskäivita arvuti"
|
||||
IDS_SUMMARYTITLE "Paigaldamise kokkuvõte"
|
||||
IDS_SUMMARYSUBTITLE "Seadete kontrollimine enne paigaldamise alustamist"
|
||||
IDS_ABORTSETUP "ReactOS ei ole veel täielikult paigaldatud. Kas tõesti lahkuda?"
|
||||
IDS_ABORTSETUP2 "Katkestada paigaldamine?"
|
||||
IDS_NO_TXTSETUP_SIF "Unable to find 'txtsetup.sif'\nSetup is unable to continue."
|
||||
IDS_CAPTION "ReactOSi paigaldamine"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
137
base/setup/reactos/lang/fi-FI.rc
Normal file
137
base/setup/reactos/lang/fi-FI.rc
Normal file
|
@ -0,0 +1,137 @@
|
|||
LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Asennus"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Welcome to the ReactOS Setup Wizard.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Et voi asentaa ReactOS:ä suoraan tältä CDlevyltä! Käynnistä tietokoneesi tältä CD levyltä asentaaksesi ReactOS:ä.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Click Finish to exit the Setup.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Install ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Update or repair an installed ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Click Next to setup the devices.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Computer:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "Display:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "Keyboard:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "Click Next to setup of the installation device.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Create", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Delete", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "D&river", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "&Advanced Options...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Click Next to check the summary.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Create Partition"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Create and format partition", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Size:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Filesystem:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Cancel", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Advanced Partition Settings"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Installation folder", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Boot loader installation", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Install boot loader on the hard disk (MBR and VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Install boot loader on the hard disk (VBR only)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "No installation of bootloader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Cancel", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Click Next to start the installation process.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Install files...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Completing ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "You have successfully completed the first stage of ReactOS Setup.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "When you click Finish, your computer will restart.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "If there is a CD in a drive, remove it. Then, to restart your computer, click Finish.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Welcome to ReactOS Setup"
|
||||
IDS_TYPESUBTITLE "Choose setup type."
|
||||
IDS_DEVICETITLE "Setup the basic devices"
|
||||
IDS_DEVICESUBTITLE "Set the settings of display and keyboard."
|
||||
IDS_DRIVETITLE "Setup the installation partition and system folder"
|
||||
IDS_DRIVESUBTITLE "Prepare installation partition, system folder and boot loader."
|
||||
IDS_PROCESSTITLE "Setup partition, copy files and setup system"
|
||||
IDS_PROCESSSUBTITLE "Create and format partition, copy files, install and setup boot loader"
|
||||
IDS_RESTARTTITLE "First stage of setup finished"
|
||||
IDS_RESTARTSUBTITLE "The first stage of setup has been completed, restart to continue with second stage"
|
||||
IDS_SUMMARYTITLE "Installation Summary"
|
||||
IDS_SUMMARYSUBTITLE "List installation properties to check before apply to the installation device"
|
||||
IDS_ABORTSETUP "ReactOS is not completely installed on your computer. If you quit Setup now, you will need to run Setup again to install ReactOS. Really quit?"
|
||||
IDS_ABORTSETUP2 "Abort installation?"
|
||||
IDS_NO_TXTSETUP_SIF "Unable to find 'txtsetup.sif'\nSetup is unable to continue."
|
||||
IDS_CAPTION "ReactOS Setup"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
137
base/setup/reactos/lang/fr-FR.rc
Normal file
137
base/setup/reactos/lang/fr-FR.rc
Normal file
|
@ -0,0 +1,137 @@
|
|||
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Installation de ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Bienvenue dans l'assistant d'installation de ReactOS.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Vous ne pouvez pas encore installer ReactOS directement depuis ce CD ! Veuillez redémarrer votre ordinateur depuis ce CD pour pouvoir installer ReactOS.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Cliquez sur Terminer pour quitter l'installation.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Installation de ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Install ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Update or repair an installed ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Click Next to setup the devices.", IDC_STATIC, 7, 1280, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Installation de ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Computer:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "Display:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "Keyboard:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "Click Next to setup of the installation device.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Installation de ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Create", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Delete", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "D&river", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "&Advanced Options...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Click Next to check the summary.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Create Partition"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Create and format partition", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Size:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Filesystem:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Cancel", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Advanced Partition Settings"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Installation folder", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Boot loader installation", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Install boot loader on the hard disk (MBR and VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Install boot loader on the hard disk (VBR only)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "No installation of bootloader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Cancel", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Click Next to start the installation process.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Installation de ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Install files...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Completing ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "You have successfully completed the first stage of ReactOS Setup.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "When you click Finish, your computer will restart.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "If there is a CD in a drive, remove it. Then, to restart your computer, click Finish.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Welcome to ReactOS Setup"
|
||||
IDS_TYPESUBTITLE "Choose setup type."
|
||||
IDS_DEVICETITLE "Setup the basic devices"
|
||||
IDS_DEVICESUBTITLE "Set the settings of display and keyboard."
|
||||
IDS_DRIVETITLE "Setup the installation partition and system folder"
|
||||
IDS_DRIVESUBTITLE "Prepare installation partition, system folder and boot loader."
|
||||
IDS_PROCESSTITLE "Setup partition, copy files and setup system"
|
||||
IDS_PROCESSSUBTITLE "Create and format partition, copy files, install and setup boot loader"
|
||||
IDS_RESTARTTITLE "First stage of setup finished"
|
||||
IDS_RESTARTSUBTITLE "The first stage of setup has been completed, restart to continue with second stage"
|
||||
IDS_SUMMARYTITLE "Installation Summary"
|
||||
IDS_SUMMARYSUBTITLE "List installation properties to check before apply to the installation device"
|
||||
IDS_ABORTSETUP "ReactOS is not completely installed on your computer. If you quit Setup now, you will need to run Setup again to install ReactOS. Really quit?"
|
||||
IDS_ABORTSETUP2 "Abort installation?"
|
||||
IDS_NO_TXTSETUP_SIF "Unable to find 'txtsetup.sif'\nSetup is unable to continue."
|
||||
IDS_CAPTION "Installation de ReactOS"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
139
base/setup/reactos/lang/he-IL.rc
Normal file
139
base/setup/reactos/lang/he-IL.rc
Normal file
|
@ -0,0 +1,139 @@
|
|||
/* Translated by Baruch Rutman */
|
||||
|
||||
LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "התקנת ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "ברוכים הבאים לאשף ההתקנה של ReactOS/", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "עדיין אי אפשר להתקין את ReactOS ישירות מהתקליטור הזה! נא אתחל מחדש מחשבך מהדיסק כדי להתקין את ReactOS.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "לחץ על סיום כדי לסיים את ההתקנה.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "התקנת ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "התקנת ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "תיקון או עדכון גרסה קיימת", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "לחץ על הבא כדי להגדיר את ההתקנים", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "התקנת ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "מחשב:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "תצוגה:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "תצוגה:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "לחץ על הבא כדי להגדיר את התקן ההתקנה.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "התקנת ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "צור", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "מחק", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "טעינת מנהל התקן", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "אפשרויות מתקדמות...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "לחץ על הבא כדי לראות סיכום.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "יצירת מחיצה"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "יצירת ואתחול המחיצה", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "גודל:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "ג""ב", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "מערכת קבצים:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "אישור", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "ביטול", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "הגדרות מחיצה מתקדמות"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "תיקיית התקנה", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Boot loader installation", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Install boot loader on the hard disk (MBR and VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Install boot loader on the hard disk (VBR only)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "No installation of bootloader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "אישור", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "ביטול", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "התקנת ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "לחץ על הבא כדי להתחיל בתהליך ההתקנה.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "התקנת ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Install files...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "השלמת התקנת ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "You have successfully completed the first stage of ReactOS Setup.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "When you click Finish, your computer will restart.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "If there is a CD in a drive, remove it. Then, to restart your computer, click Finish.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "ברוכים הבאים אל תכנית ההתקנה של ReactOS"
|
||||
IDS_TYPESUBTITLE "בחירת סוג התקנה."
|
||||
IDS_DEVICETITLE "Setup the basic devices"
|
||||
IDS_DEVICESUBTITLE "Set the settings of display and keyboard."
|
||||
IDS_DRIVETITLE "Setup the installation partition and system folder"
|
||||
IDS_DRIVESUBTITLE "Prepare installation partition, system folder and boot loader."
|
||||
IDS_PROCESSTITLE "Setup partition, copy files and setup system"
|
||||
IDS_PROCESSSUBTITLE "Create and format partition, copy files, install and setup boot loader"
|
||||
IDS_RESTARTTITLE "First stage of setup finished"
|
||||
IDS_RESTARTSUBTITLE "The first stage of setup has been completed, restart to continue with second stage"
|
||||
IDS_SUMMARYTITLE "Installation Summary"
|
||||
IDS_SUMMARYSUBTITLE "List installation properties to check before apply to the installation device"
|
||||
IDS_ABORTSETUP "ReactOS is not completely installed on your computer. If you quit Setup now, you will need to run Setup again to install ReactOS. Really quit?"
|
||||
IDS_ABORTSETUP2 "Abort installation?"
|
||||
IDS_NO_TXTSETUP_SIF "Unable to find 'txtsetup.sif'\nSetup is unable to continue."
|
||||
IDS_CAPTION "התקנת ReactOS"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
139
base/setup/reactos/lang/hu-HU.rc
Normal file
139
base/setup/reactos/lang/hu-HU.rc
Normal file
|
@ -0,0 +1,139 @@
|
|||
/* Hungarian translation by Robert Horvath - talley at cubeclub.hu */
|
||||
|
||||
LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS telepítõ"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Welcome to the ReactOS Setup Wizard.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Nem tudod feltelepíteni a ReactOS rendszert így! Kérlek indítsd újra a számítógépet ezzel a CD-vel, hogy feltudjad telepíteni a ReactOS rendszert.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Click Finish to exit the Setup.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Install ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Update or repair an installed ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Click Next to setup the devices.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Computer:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "Display:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "Keyboard:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "Click Next to setup of the installation device.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Create", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Delete", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "D&river", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "&Advanced Options...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Click Next to check the summary.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Create Partition"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Create and format partition", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Size:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Filesystem:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Cancel", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Advanced Partition Settings"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Installation folder", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Boot loader installation", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Install boot loader on the hard disk (MBR and VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Install boot loader on the hard disk (VBR only)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "No installation of bootloader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Cancel", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Click Next to start the installation process.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Install files...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Completing ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "You have successfully completed the first stage of ReactOS Setup.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "When you click Finish, your computer will restart.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "If there is a CD in a drive, remove it. Then, to restart your computer, click Finish.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Welcome to ReactOS Setup"
|
||||
IDS_TYPESUBTITLE "Choose setup type."
|
||||
IDS_DEVICETITLE "Setup the basic devices"
|
||||
IDS_DEVICESUBTITLE "Set the settings of display and keyboard."
|
||||
IDS_DRIVETITLE "Setup the installation partition and system folder"
|
||||
IDS_DRIVESUBTITLE "Prepare installation partition, system folder and boot loader."
|
||||
IDS_PROCESSTITLE "Setup partition, copy files and setup system"
|
||||
IDS_PROCESSSUBTITLE "Create and format partition, copy files, install and setup boot loader"
|
||||
IDS_RESTARTTITLE "First stage of setup finished"
|
||||
IDS_RESTARTSUBTITLE "The first stage of setup has been completed, restart to continue with second stage"
|
||||
IDS_SUMMARYTITLE "Installation Summary"
|
||||
IDS_SUMMARYSUBTITLE "List installation properties to check before apply to the installation device"
|
||||
IDS_ABORTSETUP "ReactOS is not completely installed on your computer. If you quit Setup now, you will need to run Setup again to install ReactOS. Really quit?"
|
||||
IDS_ABORTSETUP2 "Abort installation?"
|
||||
IDS_NO_TXTSETUP_SIF "Unable to find 'txtsetup.sif'\nSetup is unable to continue."
|
||||
IDS_CAPTION "ReactOS Setup"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
137
base/setup/reactos/lang/it-IT.rc
Normal file
137
base/setup/reactos/lang/it-IT.rc
Normal file
|
@ -0,0 +1,137 @@
|
|||
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Installazione di ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Benvenuto al wizard di installazione di ReactOS.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Non è ancora possibile installare ReactOS direttamente da questo CD! E' necessario riavviare il computer da questo CD per procedere alla installazione di ReactOS.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Cliccare Fine per uscire.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Installazione di ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Installa ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Aggiorna o ripara una installazione precedente di ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Cliccare Avanti per impostare i dispositivi.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Installazione di ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Computer:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 150, 80
|
||||
LTEXT "Display:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 150, 80
|
||||
LTEXT "Tastiera:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 150, 80
|
||||
LTEXT "Cliccare Avanti per scegliere dove effettuare l'installazione.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Installazione di ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Crea", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Rimuovi", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "D&river", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "&Opzioni avanzate...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Cliccare Avanti per iniziare l'installazione.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Creazione Partizioni"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Crea e formatta la partizione", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Dimensione:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Filesystem:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Annulla", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Impostazioni avanzate delle partizioni"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Cartella di installazione", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Installazione del Boot loader", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Installazione del Boot loader sul disco fisso (MBR e VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Installazione del Boot loader sul disco fisso (solo VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Non installare il Boot loader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Annulla", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Installazione di ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Cliccare Avanti per iniziare l'installazione.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Installazione di ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "File da installare...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Completamento della installazione di ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "La prima fase è stata completata in modo regolare.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Quando verrà premuto fine il computer si riavvierà.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Se presente rimuovere il CD dal lettore e cliccare Fine per riavviare il computer.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Benvenuti alla installazione di ReactOS"
|
||||
IDS_TYPESUBTITLE "Scegliere il tipo di installazione."
|
||||
IDS_DEVICETITLE "Impostazione dei dispositivi di base"
|
||||
IDS_DEVICESUBTITLE "Impostazione di monitor e tastiera."
|
||||
IDS_DRIVETITLE "Impostazione della partizione e della cartella per la installazione"
|
||||
IDS_DRIVESUBTITLE "Preparazione di partizione, cartella di sistema e Boot loader."
|
||||
IDS_PROCESSTITLE "Preparazione della partizione, copia dei file e configurazione del sistema"
|
||||
IDS_PROCESSSUBTITLE "Creazione e formattazione della partizione, copia dei file, installazione del Boot loader"
|
||||
IDS_RESTARTTITLE "Prima fase della installazione completata"
|
||||
IDS_RESTARTSUBTITLE "La prima fase della installazione è stata completata, riavviare il computer per procedere alla seconda fase"
|
||||
IDS_SUMMARYTITLE "Sintesi della installazione"
|
||||
IDS_SUMMARYSUBTITLE "Lista delle proprietà della installazione da controllare prima che siano eseguite sul dispositivo di installazione"
|
||||
IDS_ABORTSETUP "ReactOS non è installato completamente sul computer. Se interropete l'installazione ora sarà necessario eseguire l'installazione di nuovo. Volete procedere?"
|
||||
IDS_ABORTSETUP2 "Volete interrompere l'installazione?"
|
||||
IDS_NO_TXTSETUP_SIF "Unable to find 'txtsetup.sif'\nSetup is unable to continue."
|
||||
IDS_CAPTION "Installazione di ReactOS"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
137
base/setup/reactos/lang/ja-JP.rc
Normal file
137
base/setup/reactos/lang/ja-JP.rc
Normal file
|
@ -0,0 +1,137 @@
|
|||
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS セットアップ"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
LTEXT "ReactOS セットアップウィザードへようこそ。", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "このCDからまだ直接ReactOSをインストールできません。ReactOSをインストールするために、このCDからコンピュータを再起動して下さい。", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "完了をクリックしてセットアップを終了して下さい。", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS セットアップ"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "ReactOSをインストールする", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "ReactOSを新しくインストールします。このオプションは、あなたのファイル、設定、プログラムを維持しません。あなたはディスクとパーティションに変更を加えることができます。", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "ReactOSを更新または修正する", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "インストールされたReactOSを更新または修正します。このオプションはあなたのファイル、設定、プログラムを保持します。このオプションは、このコンピュータですでにReactOSがインストール済みのときのみ利用できます。", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "次へをクリックすると続行します", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS セットアップ"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
LTEXT "コンピュータ:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "ディスプレイ:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "キーボード:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "デバイスをセットアップするために、次へをクリック", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS セットアップ"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "作成(&C)", IDC_PARTCREATE, 7, 122, 50, 14
|
||||
PUSHBUTTON "削除(&D)", IDC_PARTDELETE, 63, 122, 50, 14
|
||||
PUSHBUTTON "ドライバ(&R)", IDC_DEVICEDRIVER, 174, 122, 50, 14, WS_DISABLED
|
||||
PUSHBUTTON "上級者向け(&A)...", IDC_PARTMOREOPTS, 230, 122, 80, 14
|
||||
/* LTEXT "次へをクリックすれば、要約をチェックできます。", IDC_STATIC, 7, 128, 277, 8 */
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "パーティションの作成"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "パーティションを作成し、フォーマットします", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "サイズ:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "ファイルシステム:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "キャンセル(&C)", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "上級者向けパーティション設定"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
CONTROL "インストール先フォルダ", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "ブートローダのインストール", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "ハードディスクにブートローダをインストールする (MBRとVBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "ハードディスクにブートローダをインストールする (VBRのみ)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "ブートローダをインストールしない", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "キャンセル(&C)", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS セットアップ"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
LTEXT "次へをクリックすると、インストールの処理を開始します。", IDC_STATIC, 7, 128, 303, 8
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS セットアップ"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
LTEXT "ファイルをインストール中...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 7, 120, 303, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS セットアップの完了"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
LTEXT "ReactOS セットアップの最初の段階が正しく完了しました。", IDC_STATIC, 115, 50, 195, 10
|
||||
LTEXT "完了をクリックすると、あなたのコンピュータは再起動されます。", IDC_STATIC, 115, 80, 195, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 115, 110, 195, 8
|
||||
LTEXT "もしCDがドライブにあれば、取り除いて下さい。その後、あなたのコンピュータを再起動するには、完了をクリックして下さい。", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "ReactOS セットアップにようこそ"
|
||||
IDS_TYPESUBTITLE "セットアップの種類を選んで下さい"
|
||||
IDS_DEVICETITLE "基本デバイスをセットアップします"
|
||||
IDS_DEVICESUBTITLE "ディスプレイとキーボードの設定をします"
|
||||
IDS_DRIVETITLE "インストール先パーティションとシステムフォルダをセットアップします"
|
||||
IDS_DRIVESUBTITLE "インストール先のパーティション、システムフォルダ、ブートローダを準備します"
|
||||
IDS_PROCESSTITLE "パーティションをセットアップし、ファイルをコピーし、システムをセットアップします"
|
||||
IDS_PROCESSSUBTITLE "パーティションを作成・フォーマットし、ファイルをコピーし、ブートローダをインストール・セットアップします"
|
||||
IDS_RESTARTTITLE "最初の段階は完了しました"
|
||||
IDS_RESTARTSUBTITLE "セットアップの最初の段階が完了しました。第二の段階に進むために再起動します"
|
||||
IDS_SUMMARYTITLE "インストールの要約"
|
||||
IDS_SUMMARYSUBTITLE "インストールするデバイスを適用する前にチェックするインストール プロパティをリストアップします"
|
||||
IDS_ABORTSETUP "ReactOSはあなたのコンピュータへのインストールが完了していません。もしセットアップをここで中断すれば、ReactOSをインストールするために、セットアップを再起動する必要があります。本当に中断しますか?"
|
||||
IDS_ABORTSETUP2 "インストールを中断しますか?"
|
||||
IDS_NO_TXTSETUP_SIF "'txtsetup.sif'が見つかりません。\nセットアップは続行できません"
|
||||
IDS_CAPTION "ReactOS セットアップ"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "名前"
|
||||
IDS_PARTITION_SIZE "サイズ"
|
||||
IDS_PARTITION_TYPE "種類"
|
||||
END
|
139
base/setup/reactos/lang/ms-MY.rc
Normal file
139
base/setup/reactos/lang/ms-MY.rc
Normal file
|
@ -0,0 +1,139 @@
|
|||
/* Malay translation by Henry Tang Ih 2016 (henrytang2@hotmail.com) */
|
||||
|
||||
LANGUAGE LANG_MALAY, SUBLANG_DEFAULT
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Persediaan"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Selamat datang ke Pendeta Persediaan ReactOS.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Anda tidak boleh memasang ReactOS terus dari CD ini lagi! Sila mula semula komputer anda dari CD ini untuk memasang ReactOS.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Klik Selesai untuk keluar persediaan.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Persediaan"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Pasang ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Membaiki atau mengemaskini ReactOS yang dipasang", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Klik Seterusnya untuk memasang peranti.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Persediaan"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Komputer:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "Paparan:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "Papan Kekunci:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "Klik di sebelah persediaan peranti pemasangan tersebut.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Persediaan"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "Men&cipta", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "Hapus(&D)", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "Pemacu(&R)", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "Opsyen l&anjutan...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Klik Seterusnya untuk menyemak ringkasan.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Membuat Partition"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Cipta dan format partition", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Saiz:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Sistem fail:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "Batal(&C)", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Seting lanjutan Partition"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Folder pemasangan", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Boot loader pemasangan", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Memasang boot loader pada cakera keras (MBR dan VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Memasang boot loader pada cakera keras (VBR sahaja)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Tiada pemasangan boot loader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "Batal(&C)", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Persediaan"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Klik Seterusnya untuk memulakan proses pemasangan.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Persediaan"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Memasang fail...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Melengkapkan persediaan ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Anda telah berjaya melengkapkan tahap pertama persediaan ReactOS.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Apabila anda klik Selesai, komputer akan dimulakan semula.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Jika ada CD ke dalam pemacu, mengeluarkannya. Kemudian, untuk memulakan semula komputer anda, klik selesai.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Selamat datang ke persediaan ReactOS"
|
||||
IDS_TYPESUBTITLE "Pilih jenis persediaan."
|
||||
IDS_DEVICETITLE "Sediakan peranti asas"
|
||||
IDS_DEVICESUBTITLE "Setkan seting paparan dan papan kekunci."
|
||||
IDS_DRIVETITLE "Sediakan folder pemasangan partition dan sistem"
|
||||
IDS_DRIVESUBTITLE "Menyediakan pemasangan partition, folder sistem dan boot loader."
|
||||
IDS_PROCESSTITLE "Persediaan partition, salinan fail dan sistem persediaan"
|
||||
IDS_PROCESSSUBTITLE "Cipta dan format partition, menyalin fail, memasang dan sediakan boot loader"
|
||||
IDS_RESTARTTITLE "Tahap pertama Persediaan selesai"
|
||||
IDS_RESTARTSUBTITLE "Tahap pertama persediaan telah selesai, mula semula untuk meneruskan peringkat kedua"
|
||||
IDS_SUMMARYTITLE "Ringkasan pemasangan"
|
||||
IDS_SUMMARYSUBTITLE "Senarai pemasangan sifat-sifat untuk menyemak sebelum digunakan untuk pemasangan peranti"
|
||||
IDS_ABORTSETUP "ReactOS tidak benar-benar dipasang pada komputer anda. Jika anda berhenti persediaan sekarang, anda akan perlu untuk menjalankan persediaan untuk memasang ReactOS lagi. Benar-benar berhenti?"
|
||||
IDS_ABORTSETUP2 "Henti paksa pemasangan?"
|
||||
IDS_NO_TXTSETUP_SIF "Persediaan tidak dapat mencari 'txtsetup.sif'\nPersediaan tidak dapat meneruskan"
|
||||
IDS_CAPTION "ReactOS Persediaan"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
137
base/setup/reactos/lang/no-NO.rc
Normal file
137
base/setup/reactos/lang/no-NO.rc
Normal file
|
@ -0,0 +1,137 @@
|
|||
LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS installering"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Velkommen til ReactOS installering veiviseren.", IDC_STARTTITLE, 115, 8, 220, 24
|
||||
LTEXT "Du kan ennå ikke installere ReactOS direkte fra denne CD-en! Vennligst start datamaskinen på nytt og start fra denne platen for å installere ReactOS.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Trykk på Fullført for å avslutte installeringen.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS installering"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Installere ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Reparere eller oppdatere en installert ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Trykk på Neste for installere enhetene.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS installering"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Datamaskin:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 150, 80
|
||||
LTEXT "Skjerm:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 150, 80
|
||||
LTEXT "Tastatur:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 150, 80
|
||||
LTEXT "Trykk på Neste for å installere enhetene.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS installering"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Opprett", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Slett", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "S&tasjon", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "&Avansert valg...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Trykk på Neste for å starte installasjon prosessen.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Opprett partisjon"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Opprett og formater partisjon", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Størrelse:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Filsystem:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Avbryt", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Avansert partisjon innstillinger"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Installasjon mappe", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Oppstartslaster installasjon", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Installer oppstartslaster på harddiskens (MBR og VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Installer oppstartslaster på harddiskens (bare VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Ikke installer oppstartslaster", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Avbryt", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS installering"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Trykk på Neste for å starte installasjon prosessen.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS installering"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Installer filer...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Fullfører ReactOS installering"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Du har nå fullført første steget av ReactOS installering.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Når du trykker Fullført, vil din datamaskin starte på nytt.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Hvis du fortsatt har CD platen i stasjon, fjern denne. For å starte din datamaskin på nytt, trykk på Fullført.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Velkommen til ReactOS installering"
|
||||
IDS_TYPESUBTITLE "Velg installering type."
|
||||
IDS_DEVICETITLE "Installer grunnleggende enheter"
|
||||
IDS_DEVICESUBTITLE "Velg innstillingene til skjermen og tastaturet."
|
||||
IDS_DRIVETITLE "Valg av installasjon partisjon og system mappe"
|
||||
IDS_DRIVESUBTITLE "Forbrede installasjon partisjon, system mappe og oppstartslaster."
|
||||
IDS_PROCESSTITLE "Forbrede partisjon, kopiere filer og installere system"
|
||||
IDS_PROCESSSUBTITLE "Opprett og formater partisjon, kopier filer, installere og sett opp oppstartlaster"
|
||||
IDS_RESTARTTITLE "Første steget av installering er fullført"
|
||||
IDS_RESTARTSUBTITLE "Første steget av installering har blitt fullført, start på nytt for å fortsette til andre steget"
|
||||
IDS_SUMMARYTITLE "Installasjon oppsumering"
|
||||
IDS_SUMMARYSUBTITLE "Sjekk listen av installasjon egenskapene før du fortsetter installasjon av enhetene"
|
||||
IDS_ABORTSETUP "ReactOS er ikke fullstendig installert på datamaskinen. Hvis du avslutter nå, trenger du å kjøre installeringen på nytt for å installere ReactOS. Vil du virkelig avslutte?"
|
||||
IDS_ABORTSETUP2 "Avbryt installasjonen?"
|
||||
IDS_NO_TXTSETUP_SIF "Unable to find 'txtsetup.sif'\nSetup is unable to continue."
|
||||
IDS_CAPTION "ReactOS installering"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
148
base/setup/reactos/lang/pl-PL.rc
Normal file
148
base/setup/reactos/lang/pl-PL.rc
Normal file
|
@ -0,0 +1,148 @@
|
|||
/*
|
||||
* Translation by xrogers
|
||||
* xxrogers@users.sourceforge.net
|
||||
* https://sourceforge.net/projects/reactospl
|
||||
* http://rogers.cyberdusk.pl/
|
||||
* Update - niski (bjauy@o2.pl)
|
||||
* Updated by Caemyr (Olaf Siejka), Mar 2011
|
||||
* UTF-8 conversion by Caemyr (May, 2011)
|
||||
* Updated by Marcin Mikołajczak <me@m4sk.in> (September, 2017)
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalator ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Witaj w Kreatorze instalacji ReactOS.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Obecnie nie możesz zainstalować ReactOS bezpośrednio! Uruchom ponownie komputer z tej płyty, aby zainstalować ReactOS.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Naciśnij przycisk aby zakończyć pracę Instalatora.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalator ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Zainstaluj ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Zainstaluj nową kopię ReactOS. Ta opcja nie zachowa plików, ustawień i programów. Możesz dokonać zmian w dyskach i partycjach.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Napraw lub zaktualizuj zainstalowany wcześniej ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Zaktualizuj lub napraw istniejącą kopię systemu ReactOS. Ta opcja zachowa pliki, ustawienia i programy. Jest dostępna, jeżeli ReactOS znajduje się już na tym komputerze.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Naciśnij Dalej, aby zmienić ustawienia sprzętu.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalator ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Komputer:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 150, 80
|
||||
LTEXT "Ekran:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 150, 80
|
||||
LTEXT "Klawiatura:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 150, 80
|
||||
LTEXT "Naciśnij Dalej, aby ustalić miejsce instalacji.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalator ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Stwórz", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Usuń", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "S&terownik", IDC_DEVICEDRIVER, 169, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "&Opcje zaawansowane...", IDC_PARTMOREOPTS, 225, 122, 86, 15
|
||||
LTEXT "Naciśnij Dalej, aby rozpocząć proces instalacji.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Stwórz partycję"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Stwórz i sformatuj partycję", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Rozmiar:",IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "System plików:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Anuluj", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Zaawansowane ustawienia partycji"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Folder instalacji", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Instalacja menedżera rozruchu", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Wgraj menedżer rozruchu na dysk twardy (MBR i VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Wgraj menedżer rozruchu na dysk twardy (tylko VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Pomiń wgrywanie menedżera rozruchu", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Anuluj", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalator ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Kliknij Dalej, aby rozpocząć proces instalacji.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalator ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Instalacja plików...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Kończenie instalacji ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Pierwszy etap instalacji ReactOS został pomyślnie zakończony.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Po kliknięciu na Zakończ ten komputer zostanie uruchomiony ponownie.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Jeśli w napędzie jest płyta CD, wyciągnij ją. Następnie naciśnij Zakończ, aby uruchomić ponownie komputer.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Witamy w Instalatorze ReactOS"
|
||||
IDS_TYPESUBTITLE "Wybierz typ instalacji."
|
||||
IDS_DEVICETITLE "Ustawienia podstawowych urządzeń"
|
||||
IDS_DEVICESUBTITLE "Zmień ustawienia ekranu i klawiatury."
|
||||
IDS_DRIVETITLE "Ustaw partycję instalacji i folder systemowy"
|
||||
IDS_DRIVESUBTITLE "Przygotuj partycje instalacji, folder systemowy i menedżer rozruchu."
|
||||
IDS_PROCESSTITLE "Przygotuj partycję, skopiuj pliki i zapisz ustawienia systemu"
|
||||
IDS_PROCESSSUBTITLE "Przygotuj i sformatuj partycję, skopiuj pliki, skopiuj i zainstaluj menedżer rozruchu"
|
||||
IDS_RESTARTTITLE "Pierwszy etap instalacji zakończony sukcesem"
|
||||
IDS_RESTARTSUBTITLE "Pierwszy etap instalacji został zakończony, uruchom ponownie komputer, aby przejść do drugiego etapu"
|
||||
IDS_SUMMARYTITLE "Podsumowanie instalacji"
|
||||
IDS_SUMMARYSUBTITLE "Sprawdź ustawienia instalacji przed dokonaniem zmian na dysku"
|
||||
IDS_ABORTSETUP "Instalacja ReactOS nie została ukończona na tym komputerze. Jeśli teraz zakończysz instalację, będziesz musiał uruchomić Instalator ponownie, aby zainstalować ReactOS. Na pewno zakończyć?"
|
||||
IDS_ABORTSETUP2 "Przerwać instalację?"
|
||||
IDS_NO_TXTSETUP_SIF "Nie można znaleźć 'txtsetup.sif'\nInstalator nie może kontynuować."
|
||||
IDS_CAPTION "Instalator ReactOS"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Nazwa"
|
||||
IDS_PARTITION_SIZE "Rozmiar"
|
||||
IDS_PARTITION_TYPE "Rodzaj"
|
||||
END
|
137
base/setup/reactos/lang/pt-BR.rc
Normal file
137
base/setup/reactos/lang/pt-BR.rc
Normal file
|
@ -0,0 +1,137 @@
|
|||
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalação do ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Bem-vindo(a) ao Assistente de Instalação do ReactOS.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Você não pode instalar o ReactOS diretamente deste CD! Por favor reinicie seu computador a partir deste CD para instalar o ReactOS.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Clique em Finalizar para sair da Instalação.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalação do ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Instalar ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Reparar ou atualizar uma instalação do ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Clique em Próximo para configurar os dispositivos.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalação do ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Computador:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "Monitor:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "Teclado:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "Clique em Próximo para configurar o dispositivo de instalação.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalação do ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Criar", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Apagar", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "D&rivers", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "&Opções Avançadas...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Clique em Próximo para verificar o sumário.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Criar Partição"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Criar e formatar partição", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Tamanho:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Sistema de arquivo:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Cancelar", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Configurações Avançadas de Particionamento"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Pasta de instalação", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Instalação do boot loader", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Instalar boot loader no disco rígido (MBR e VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Instalar boot loader no disco rígido (apenas VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Não instalar boot loader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Cancelar", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalação do ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Clique em Próximo para iniciar o processo de instalação.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalação do ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Instalar arquivos...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "teste.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Finalizando Instalação do ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "A primeira etapa de Instalação do ReactOS foi efetuada com sucesso.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Clique em Finalizar para reiniciar o computador.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Se houver um CD no drive, remova-o. Após isto, clique em Finalizar para reiniciar o computador.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Bem-vindo(a) a Instalação do ReactOS"
|
||||
IDS_TYPESUBTITLE "Escolha o modo de instalação."
|
||||
IDS_DEVICETITLE "Instalar dispositivos básicos"
|
||||
IDS_DEVICESUBTITLE "Definir as configurações de monitor e teclado."
|
||||
IDS_DRIVETITLE "Configurar a partição de instalação e pasta do sistema"
|
||||
IDS_DRIVESUBTITLE "Preparando partição de instalação, pasta do sistema e boot loader."
|
||||
IDS_PROCESSTITLE "Preparar partição, copiar arquivos e configurar sistema"
|
||||
IDS_PROCESSSUBTITLE "Criar e formatar partição, copiar arquivos, instalar e configurar boot loader"
|
||||
IDS_RESTARTTITLE "Primeira etapa de instalação finalizada"
|
||||
IDS_RESTARTSUBTITLE "A primeira etapada da instalação foi completada, reinicie o computador para prosseguir com a segunda estapa"
|
||||
IDS_SUMMARYTITLE "Sumário de Instalação"
|
||||
IDS_SUMMARYSUBTITLE "Listar propriedades da instalação para verificação antes de aplicá-las na instalação dos despositivos"
|
||||
IDS_ABORTSETUP "ReactOS não está totalmente instalado em seu computador. Se você sair da Instalação agora, você precisará executar o Instalador novamente para instalar o ReactOS. Tem certeza que deseja sair?"
|
||||
IDS_ABORTSETUP2 "Abortar instalação?"
|
||||
IDS_NO_TXTSETUP_SIF "Unable to find 'txtsetup.sif'\nSetup is unable to continue."
|
||||
IDS_CAPTION "Instalação do ReactOS"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
146
base/setup/reactos/lang/ro-RO.rc
Normal file
146
base/setup/reactos/lang/ro-RO.rc
Normal file
|
@ -0,0 +1,146 @@
|
|||
/*
|
||||
* PROJECT: ReactOS GUI first stage setup application
|
||||
* FILE: base/setup/reactos/lang/ro-RO.rc
|
||||
* PURPOSE: Romanian Language File for ReactOS GUI first stage setup
|
||||
* TRANSLATORS:
|
||||
* Petru Dimitriu (petrimetri at gmail dot com)
|
||||
* Ștefan Fulea (stefan dot fulea at mail dot md)
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Asistent de instalare ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Bun venit la instalarea ReactOS", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "ReactOS încă nu poate fi instalat direct de pe acest CD! Pentru a instala ReactOS, reporniți calculatorul și utilizați acest CD în secvența de inițializare.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Apăsați pe „Sfârșit” pentru a ieși.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Asistent de instalare ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Instalează ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Instalarea unei noi copii a ReactOS. Fișierele, configurațiile și programele existente nu vor fi păstrate. Sunt posibile ajustări asupra discurilor și partițiilor.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Repară sau actualizează ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Repararea sau actualizarea ReactOS. Această opțiune menține fișierele, configurațiile și programele existente. Opțiune validă doar dacă ReactOS e deja instalat în calculator.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Apăsați pe „Înainte” pentru configurarea de dispozitive.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Asistent de instalare ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Calculator:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "Ecran:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "Tastatură:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "Apăsați pe „Înainte” pentru configurarea dispozitivului de instalare.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Asistent de instalare ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Crează", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "Șt&erge", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "Mo&dul pilot", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "Opțiuni a&vansate…", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Apăsați pe „Înainte” pentru a verifica sumarul.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Creare partiție"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Crearea și formatarea partiției", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Marime:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GO", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Sistemul de fișiere:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "Con&firmă", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "A&nulează", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Opțiuni avansate partiție"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Dosarul de instalare", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Instalarea secvenței de inițializare", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Instalează inițializatorul pe hard disc (MBR și VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Instalează inițializatorul pe hard disc (numai VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Omite instalarea inițializatorului", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "Con&firmă", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "A&nulează", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Asistent de instalare ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Apăsați „Înainte” pentru a continua procesul de instalare.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Asistent de instalare ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Fișiere în copiere…", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Asistent de instalare ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Ați dus la bun sfârșit prima etapă de instalare a ReactOS", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Când veți apăsa „Sfârșit”, calculatorul va reporni.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Dacă aveți vreun CD în calculator, scoateți-l, după care apăsați „Sfârșit” pentru a reporni.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Bun venit la instalarea ReactOS"
|
||||
IDS_TYPESUBTITLE "Alegeți tipul de instalare."
|
||||
IDS_DEVICETITLE "Instalare dispozitive de bază"
|
||||
IDS_DEVICESUBTITLE "Stabilirea parametrilor de afișare și tastatură."
|
||||
IDS_DRIVETITLE "Stabilire destinație"
|
||||
IDS_DRIVESUBTITLE "Pregătirea partiției de instalare, a dosarului de sistem și a inițializatorului."
|
||||
IDS_PROCESSTITLE "Executare pași de instalare"
|
||||
IDS_PROCESSSUBTITLE "Crearea și formatarea partiției, copierea de fișiere și instalarea inițializatorului."
|
||||
IDS_RESTARTTITLE "Finalizare primă etapă"
|
||||
IDS_RESTARTSUBTITLE "Prima etapă a instalarii a fost încheiată cu succes, reporniți pentru a doua etapă."
|
||||
IDS_SUMMARYTITLE "Rezumat de instalare"
|
||||
IDS_SUMMARYSUBTITLE "Lista cu opțiuni de instalare ce necesită verificare înainte de a continua instalarea."
|
||||
IDS_ABORTSETUP "ReactOS încă nu este complet instalat în calculator. Daca întrerupeți procesul de instalare, pentru a instala va fi necesară repetarea pașilor parcurși până acum. Sigur doriți asta?"
|
||||
IDS_ABORTSETUP2 "Abandonați instalarea?"
|
||||
IDS_NO_TXTSETUP_SIF "Fișierulu „txtsetup.sif” nu poate fi găsit!\nInstalarea nu poate continua."
|
||||
IDS_CAPTION "Asistentul de instalare ReactOS"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Nume"
|
||||
IDS_PARTITION_SIZE "Dimensiune"
|
||||
IDS_PARTITION_TYPE "Tip"
|
||||
END
|
137
base/setup/reactos/lang/ru-RU.rc
Normal file
137
base/setup/reactos/lang/ru-RU.rc
Normal file
|
@ -0,0 +1,137 @@
|
|||
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Установка ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Вас приветствует программа установки ReactOS.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Установку ReactOS можно производить только загрузившись с этого диска! После перезапуска компьютера выберите загрузку с CD и начните установку ReactOS.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Нажмите кнопку ""Завершить"" для выхода.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Установка ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Установка ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Установить новую копию системы ReactOS. Эта опция НЕ сохраняет файлы, настройки и программы. Вы можете изменять диски и разделы.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Восстановить или изменить установленный ранее ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Обновить или восстановить установленную копию системы ReactOS. Эта опция СОХРАНЯЕТ файлы, настройки и программы. Доступно только при наличии уже установленной на компьютере системы ReactOS.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Для установки устройств нажмите ""Далее"".", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Установка ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Компьютер:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 150, 80
|
||||
LTEXT "Экран:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 150, 80
|
||||
LTEXT "Клавиатура:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 150, 80
|
||||
LTEXT "Для установки устройств нажмите ""Далее"".", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Установка ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Создать", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Удалить", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "Д&райвер", IDC_DEVICEDRIVER, 162, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "&Дополнительные параметры...", IDC_PARTMOREOPTS, 176, 122, 122, 15
|
||||
LTEXT "Для начала установки нажмите ""Далее"".", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Создать раздел на диске"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Создать и отформатировать раздел диска", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Размер:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "Гб", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Файловая система:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&Есть", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Отставить", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Дополнительные параметры установки"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Основной каталог", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 12, 283, 14, WS_VISIBLE
|
||||
CONTROL "Установка загрузчика", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Установить загрузчик на диск (MBR и VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 49, 278, 11
|
||||
CONTROL "Установить загрузчик на диск (только VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Не устанавливать загрузчик", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Отмена", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Установка ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Для начала установки нажмите ""Далее"".", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Установка ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Копирование файлов...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Завершение установки ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Первый этап установки ReactOS закончен.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "После нажатия клавиши ""Завершить"" ваш компьютер будет перезагружен.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Вы можете извлечь установочный диск. Для перезагрузки компьютера нажмите клавишу ""Завершить"".", IDC_STATIC, 10, 176, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Вас приветствует программа установки ReactOS"
|
||||
IDS_TYPESUBTITLE "Выберите тип установки."
|
||||
IDS_DEVICETITLE "Установка базовых устройств"
|
||||
IDS_DEVICESUBTITLE "Настройка параметров экрана и клавиатуры."
|
||||
IDS_DRIVETITLE "Выбор расположения на диске и системного каталога"
|
||||
IDS_DRIVESUBTITLE "Подготовка раздела диска, системного каталога и загрузчика."
|
||||
IDS_PROCESSTITLE "Подготовка раздела диска, копирование системных файлов"
|
||||
IDS_PROCESSSUBTITLE "Создание раздела на диске, копирование файлов, установка загрузчика"
|
||||
IDS_RESTARTTITLE "Первый этап установки закончен"
|
||||
IDS_RESTARTSUBTITLE "Первый этап закончен, для продолжения требуется перезагрузка"
|
||||
IDS_SUMMARYTITLE "Сводка"
|
||||
IDS_SUMMARYSUBTITLE "Проверьте список параметров перед началом установки"
|
||||
IDS_ABORTSETUP "ReactOS установлен на компьютер не полностью. Если вы закроете программу установки сейчас, в дальнейшем вам придется повторить установку ReactOS. Вы уверены, что необходимо прервать установку?"
|
||||
IDS_ABORTSETUP2 "Прервать установку?"
|
||||
IDS_NO_TXTSETUP_SIF "Не удалось найти файл 'txtsetup.sif'\nПродолжение установки невозможно."
|
||||
IDS_CAPTION "Установка ReactOS"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Имя"
|
||||
IDS_PARTITION_SIZE "Размер"
|
||||
IDS_PARTITION_TYPE "Тип"
|
||||
END
|
142
base/setup/reactos/lang/sk-SK.rc
Normal file
142
base/setup/reactos/lang/sk-SK.rc
Normal file
|
@ -0,0 +1,142 @@
|
|||
/* TRANSLATOR : Mário Kačmár /Mario Kacmar/ aka Kario (kario@szm.sk)
|
||||
* DATE OF TR.: xx-xx-2007
|
||||
* LAST UPDATE: 02-11-2010
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Inštalácia systému ReactOS" //ReactOS Setup
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Víta Vás sprievodca inštaláciou systému ReactOS.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Systém ReactOS sa z tohto CD nedá nainštalovať ihneď! Reštartujte, prosím, počítač a inštalačné CD nechajte vložené, aby sa mohol systém ReactOS nainštalovať.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Inštaláciu ukončíte kliknutím na tlačidlo Dokončiť.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Inštalácia systému ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Nainštalovať systém ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Opraviť alebo aktualizovať nainštalovaný systém ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Click Next to setup the devices.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Inštalácia systému ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Počítač:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "Obrazovka:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "Klávesnica:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "Click Next setup of the installation device.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Inštalácia systému ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Vytvoriť", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "O&dstrániť", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "D&river", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "Rozšírené &možnosti...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Click Next to check the summary.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Vytvoriť partíciu"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Vytvoriť a naformátovať partíciu", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Veľkosť:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Systém súborov:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Zrušiť", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Rozšírené nastavenia partície"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Inštalačný priečinok", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Inštalácia zavádzača systému", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Nainštalovať zavádzač systému na pevný disk (MBR a VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Nainštalovať zavádzač systému na pevný disk (iba VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Nenainštalovať zavádzač systému", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Zrušiť", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Inštalácia systému ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Kliknutím na tlačidlo Ďalej spustíte inštalačný proces.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Inštalácia systému ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Install files...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Completing ReactOS Setup"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "You have successfully completed the first stage of ReactOS Setup.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Kliknutím na tlačidlo Dokončiť reštartujete počítač.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "If there is a CD in a drive, remove it. Then, to restart your computer, click Finish.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Víta Vás inštalátor systému ReactOS" //Welcome to ReactOS Setup
|
||||
IDS_TYPESUBTITLE "Choose setup type."
|
||||
IDS_DEVICETITLE "Setup the basic devices"
|
||||
IDS_DEVICESUBTITLE "Set the settings of display and keyboard."
|
||||
IDS_DRIVETITLE "Setup the installation partition and system folder"
|
||||
IDS_DRIVESUBTITLE "Prepare installation partition, system folder and boot loader."
|
||||
IDS_PROCESSTITLE "Prepare partition, copy files and setup system"
|
||||
IDS_PROCESSSUBTITLE "Create and format partition, copy files, install and setup boot loader"
|
||||
IDS_RESTARTTITLE "First stage of setup finished"
|
||||
IDS_RESTARTSUBTITLE "The first stage of setup has been completed, restart to continue with second stage"
|
||||
IDS_SUMMARYTITLE "Zhrnutie inštalácie"
|
||||
IDS_SUMMARYSUBTITLE "List installation properties to check before apply to the installation device"
|
||||
IDS_ABORTSETUP "ReactOS is not completely installed on your computer. If you quit Setup now, you will need to run Setup again to install ReactOS. Naozaj skončiť?"
|
||||
IDS_ABORTSETUP2 "Prerušiť inštaláciu?"
|
||||
IDS_NO_TXTSETUP_SIF "Unable to find 'txtsetup.sif'\nSetup is unable to continue."
|
||||
IDS_CAPTION "ReactOS Setup"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
139
base/setup/reactos/lang/sq-AL.rc
Normal file
139
base/setup/reactos/lang/sq-AL.rc
Normal file
|
@ -0,0 +1,139 @@
|
|||
/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com) */
|
||||
|
||||
LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalimi i ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Mirë se vini në instalimin e ReactOS.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Ju nuk mund të instaloni ReactOS direkt nga ky CD! Ju lutem rinisni kompjuterin tuaj nga CD'ja në mënyrë që të instaloni ReactOS.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Kliko Finish për të dalë nga instalimi.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalimi i ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "InstalO ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Riparo ose apdejto ReactOS'in e instaluar", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Kliko vazhdo për të konfiguruar pajisjet.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalimi i ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Computer:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "Display:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "Keyboard:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "Klikoni vazhdo për instalim të pajisjeve.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalimi i ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Krijo", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Fshi", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "D&river", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "&Opsionet e avancuara...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Kliko vazhdo për të kontrolluar përmbajtjen.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Krijo particion"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Krijo dhe formato particionin", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Size:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Filesystem:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Anulo", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Krijimi i Avancuar i Particioneve"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Skeda e Instalimit", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Instalimi i Boot loaderit", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Instalo boot loaderin në hard disk (MBR dhe VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Instalo boot loaderin në hard disk (VBR veq)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Mos instalo bootloader", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&Dakord", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Anulo", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalimi i ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Kliko vazhdo për të filluar instalimin.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Instalimi i ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Instalimi i dokumentave...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Kompletimi i instalimit te ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Ju keni kompletuar me sukses fazën e parë të instalimit të ReactOS.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Kur te klikoni mbarim, kompjuteri juaj do riniset.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Nëse keni nje CD në drive, hiqeni. Pastaj, për ta rinist kompjuterin tuaj, klikoni mbaroj.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Mirë se vini në instalimin e ReactOS"
|
||||
IDS_TYPESUBTITLE "Zgjidhni llojin e instalimit."
|
||||
IDS_DEVICETITLE "Instaloni pajisjet themelore"
|
||||
IDS_DEVICESUBTITLE "Vendos parametrat e ekranit dhe tastieres."
|
||||
IDS_DRIVETITLE "Konfiguro particionet për instalim dhe dosjet e sistemit"
|
||||
IDS_DRIVESUBTITLE "Pergatit particionet për instalim, dosjet e sistemit dhe boot loaderin."
|
||||
IDS_PROCESSTITLE "Konfiguro particionet, kopjo dokumentat dhe konfiguro sistemin"
|
||||
IDS_PROCESSSUBTITLE "Krijo dhe formato particionet, kopjo dokumentat, insalo dhe konfiguro book loaderin"
|
||||
IDS_RESTARTTITLE "Faza e pare e instalimit ka perfunduar"
|
||||
IDS_RESTARTSUBTITLE "Faza e pare e instalimit ka perfunduar, rinisni për të vazhduar me fazen e dytë"
|
||||
IDS_SUMMARYTITLE "Përmbajtja e instalimit"
|
||||
IDS_SUMMARYSUBTITLE "Listo të dhënat e instalimit për të kontrolluar para së të aplikohen për pajisjet e instalimit/kompjuterit"
|
||||
IDS_ABORTSETUP "ReactOS nuk është instaluar plotësisht në kompjuterin tuaj. Nëse ju dilni nga instalimi tani, do ju duhet të filloni instalimin përsëri për të instalumar ReactOS. Doni ta mbyllni?"
|
||||
IDS_ABORTSETUP2 "Ndërpritni Instalimin?"
|
||||
IDS_NO_TXTSETUP_SIF "Unable to find 'txtsetup.sif'\nSetup is unable to continue."
|
||||
IDS_CAPTION "ReactOS Setup"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
139
base/setup/reactos/lang/tr-TR.rc
Normal file
139
base/setup/reactos/lang/tr-TR.rc
Normal file
|
@ -0,0 +1,139 @@
|
|||
/* TRANSLATORS: 2012 Arda Tanrıkulu (ardatan) (ardatanrikulu@gmail.com), 2013-2016 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */
|
||||
|
||||
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Kur"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "ReactOS Kur Yardımcısı'na Hoş Geldiniz", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Daha bu CD'den ReactOS'u doğrudan kuramazsınız. Lütfen ReactOS'u kurmak için bu CD'den bilgisayarınızı yeniden başlatınız.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Kur'dan çıkmak için İptal'e tıklayınız.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Kur"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "ReactOS'u Yükleme", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "ReactOS'un yeni bir kopyasını yükle. Bu seçenek, kütüklerinizi, ayarlarınızı ve izlencelerinizi korumaz. Disklere ve bölümlere değişiklikler yapabilirsiniz.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Kurulu ReactOS'u Onarma ya da Yükseltme", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "ReactOS'un kurulu bir kopyasını şimdikileştir ya da onar. Bu seçenek, kütüklerinizi, ayarlarınızı ve izlencelerinizi korur. Bu seçenek yalnızca ReactOS bu bilgisayarda önceden kuruluysa kullanılabilir.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Aygıtları kurmak için İleri'ye tıklayınız.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Kur"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Bilgisayar:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "Görüntü:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "Düğme Takımı:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "Kurulum aygıtını kurmak için İleri'ye tıklayınız.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Kur"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Oluştur...", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Sil", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "S&ürücü", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "G&elişmiş Seçenekler...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Kurulum özetini gözden geçirmek için İleri'ye tıklayınız.", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Bölüm Oluştur"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "Bölüm Oluşturma ve Biçimlendirme", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "Büyüklük:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "Kütük Dizgesi:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "Tamam", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "İptal", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Gelişmiş Bölümlendirme Seçenekleri"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Kurulum Dizini", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Ön Yükleyici Kurulumu", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Ön yükleyiciyi sâbit diskin üzerine kur. (MBR ve VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Ön yükleyiciyi sâbit diskin üzerine kur. (Yalnızca VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Ön yükleyici kurulumu yok.", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "Tamam", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "İptal", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Kur"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Kurulumu işlemini başlatmak için İleri'ye tıklayınız.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Kur"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Kütükler yükleniyor...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "sınama.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS Kurulumunun Bitirilmesi"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "ReactOS kurulumunun ilk aşamasını başarıyla bitirdiniz.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Bitir'e tıkladığınızda bilgisayarınız yeniden başlatılacaktır.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Eğer bir sürücüde bir CD varsa onu çıkartınız. Sonra, bilgisayarınızı yeniden başlatmak için Bitir'e tıklayınız.", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "ReactOS Kur'a Hoş Geldiniz"
|
||||
IDS_TYPESUBTITLE "Kurulum türünü seçiniz."
|
||||
IDS_DEVICETITLE "Ana Aygıtların Kurulumu"
|
||||
IDS_DEVICESUBTITLE "Görüntü ve düğme takımı ayarlarını yapınız."
|
||||
IDS_DRIVETITLE "Kurulum Bölümünün ve Dizge Dizininin Anıklanması"
|
||||
IDS_DRIVESUBTITLE "Kurulum bölümünü, dizge dizinini ve ön yükleyiciyi anıklayınız."
|
||||
IDS_PROCESSTITLE "Bölümün Biçimlendirilmesi, Kütüklerin Çoğaltılması ve Önyükleyicinin Kurulması"
|
||||
IDS_PROCESSSUBTITLE "Bölüm oluşturuluyor ve biçimlendiriliyor, kütükler çoğaltılıyor, ön yükleyici kuruluyor ve anıklanıyor."
|
||||
IDS_RESTARTTITLE "Kurulumun İlk Aşaması Bitti"
|
||||
IDS_RESTARTSUBTITLE "Kurulumun ilk aşaması bitirildi, ikinci aşamayla sürdürmek için yeniden başlatınız."
|
||||
IDS_SUMMARYTITLE "Kurulum Özeti"
|
||||
IDS_SUMMARYSUBTITLE "Kurulumdan aygıtına uygulanmadan önce gözden geçirmek için dizelgelenen kurulum seçenekleri."
|
||||
IDS_ABORTSETUP "ReactOS bilgisayarınıza tümüyle kurulmadı. Eğer şimdi Kur'dan çıkarsanız, ReactOS'u kurmak için Kur'u yeniden çalıştırmayı isteybilirsiniz. Gerçekten çıkılsın mı?"
|
||||
IDS_ABORTSETUP2 "Kurulum iptal edilsin mi?"
|
||||
IDS_NO_TXTSETUP_SIF """txtsetup.sif"" bulunamıyor.\nKur sürdüremiyor."
|
||||
IDS_CAPTION "ReactOS Kur"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Ad"
|
||||
IDS_PARTITION_SIZE "Boyut"
|
||||
IDS_PARTITION_TYPE "Tür"
|
||||
END
|
145
base/setup/reactos/lang/uk-UA.rc
Normal file
145
base/setup/reactos/lang/uk-UA.rc
Normal file
|
@ -0,0 +1,145 @@
|
|||
/*
|
||||
* PROJECT: ReactOS Setup
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/setup/reactos/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for ReactOS Setup
|
||||
* TRANSLATOR: Artem Reznikov, Sakara Yevhen
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Встановлення ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Вас вітає програма встановлення ReactOS.", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "Ви не можете встановити ReactOS прямо з цього CD! Будь ласка перезапустіть Ваш комп’ютер з цього CD для того, щоб встановити ReactOS.", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "Натисніть кнопку Завершити для виходу.", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Встановлення ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Встановлення ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settings and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "Відновити або змінити встановлений раніше ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settings and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "Для встановлення пристроїв натисніть Далі.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Встановлення ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Комп’ютер:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "Екран:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "Клавіатура:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "Для встановлення пристроїв натисніть Далі.", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Встановлення ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "&Створити", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "&Видалити", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "Д&райвер", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "&Додаткові Опції...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "Для початку встановлення натисніть Далі", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 172, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Створення розділу"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 131, 22, 9, 13
|
||||
CONTROL "Створити та відформатувати розділ", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 156, 57
|
||||
LTEXT "Розмір:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 79, 22, 53, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "Гб", IDC_UNIT, 144, 24, 14, 9
|
||||
LTEXT "Файлова система:", IDC_STATIC, 13, 46, 65, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 79, 42, 79, 50
|
||||
PUSHBUTTON "&OK", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Скасувати", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Розширені параметри розділу"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Тека встановлення", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "Встановлення завантажувача", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "Встановити завантажувач на жосткий диск (MBR та VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "Встановити завантажувач на жосткий диск (лише VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "Не встановлювати завантажувач", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "&OK", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Скасувати", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Встановлення ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Для початку встановлення натисніть Далі.", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Встановлення ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Копіювання файлів...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Завершення встановлення ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Перший етап встановлення ReactOS завершено.", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "Після натискання клавіші Завершити ваш комп'ютер буде перезавантажений.", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "Ви можете витягнути інсталяційний диск. Для перезавантаження комп'ютера натисніть Завершити", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "Вас вітає програма встановлення ReactOS"
|
||||
IDS_TYPESUBTITLE "Виберіть тип встановлення."
|
||||
IDS_DEVICETITLE "Встановлення базових пристроїв"
|
||||
IDS_DEVICESUBTITLE "Налаштування параметрів екрану та клавіатури."
|
||||
IDS_DRIVETITLE "Вибір розташування на диску і системного каталогу"
|
||||
IDS_DRIVESUBTITLE "Підготовка розділу диска, системного каталогу та завантажувача."
|
||||
IDS_PROCESSTITLE "Підготовка розділу диска, копіювання системних файлів"
|
||||
IDS_PROCESSSUBTITLE "Створення розділу на диску, копіювання файлів, встановлення завантажувача"
|
||||
IDS_RESTARTTITLE "Перший етап встановлення завершено"
|
||||
IDS_RESTARTSUBTITLE "Перший етап завершено, для продовження потрібне перезавантаження"
|
||||
IDS_SUMMARYTITLE "Інформація про Встановлення"
|
||||
IDS_SUMMARYSUBTITLE "Перевірте список властивостей встановлення, перш ніж почати встановлення системи"
|
||||
IDS_ABORTSETUP "ReactOS встановлений на комп'ютер не повністю. Якщо ви закриєте програму встановлення зараз, в подальшому вам доведеться повторити встановлення ReactOS. Ви впевнені, що необхідно перервати встановлення?"
|
||||
IDS_ABORTSETUP2 "Перервати встановлення?"
|
||||
IDS_NO_TXTSETUP_SIF "Unable to find 'txtsetup.sif'\nSetup is unable to continue."
|
||||
IDS_CAPTION "Встановлення ReactOS"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "Name"
|
||||
IDS_PARTITION_SIZE "Size"
|
||||
IDS_PARTITION_TYPE "Type"
|
||||
END
|
137
base/setup/reactos/lang/zh-CN.rc
Normal file
137
base/setup/reactos/lang/zh-CN.rc
Normal file
|
@ -0,0 +1,137 @@
|
|||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 安装"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "欢迎使用 ReactOS 安装向导。", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "您不能直接从此CD安装 ReactOS! 请重新启动并从CD引导您的电脑以便安装 ReactOS。", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "点击完成退出安装。", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 安装"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "安装 ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "安装 ReactOS 的新副本。此选项没有保存你的文件、 设置和程序。你可以对磁盘和分区进行更改。", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "修复或更新已安装的 ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "更新或修复 ReactOS 安装的副本。此选项会保存您的文件、 设置和程序。如果 ReactOS 已经安装在此计算机上, 此选项才能使用的。", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "点击下一步安装设备。", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 安装"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "计算机:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "显示:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "键盘:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "点击下一步设置安装驱动器。", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 安装"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "建立(&C)", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "删除(&D)", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "驱动器(&r)", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "高级选项(&A)...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "点击下一步检查安装概要。", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "建立分区"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "建立并格式化分区", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "大小:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "文件系统:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "确定(&O)", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "取消(&C)", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "高级分区设置"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "安装文件夹", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "引导器程序安装", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "安装引导程序到硬盘 (MBR 和 VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "安装引导程序到硬盘 (仅 VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "不安装引导程序", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "确定(&O)", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "取消(&C)", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 安装"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "点击下一步开始安装过程。", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 安装"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "安装文件...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 安装完成"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "您成功完成 ReactOS 第一阶段安装过程。", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "点击完成后,您的电脑将会重新启动。", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "请从光盘驱动器取出任何光盘。然后,点击完成重启您的电脑。", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "ReactOS 安装"
|
||||
IDS_TYPESUBTITLE "选择安装类型。"
|
||||
IDS_DEVICETITLE "设置基本设备。"
|
||||
IDS_DEVICESUBTITLE "指定显示和键盘设置。"
|
||||
IDS_DRIVETITLE "设置安装分区和系统文件夹"
|
||||
IDS_DRIVESUBTITLE "设置安装分区,系统文件夹和引导程序。"
|
||||
IDS_PROCESSTITLE "设置分区,复制文件并安装系统"
|
||||
IDS_PROCESSSUBTITLE "建立并格式化分区,复制文件,安装并设置引导程序"
|
||||
IDS_RESTARTTITLE "第一阶段安装完成"
|
||||
IDS_RESTARTSUBTITLE "第一阶段安装已经完成,重新启动进行第二阶段安装"
|
||||
IDS_SUMMARYTITLE "安装概要"
|
||||
IDS_SUMMARYSUBTITLE "正是安装前列出安装属性以供检查"
|
||||
IDS_ABORTSETUP "ReactOS 未在您的电脑上安装完成。如果您现在退出安装程序,您需要在一次运行安装程序来安装 ReactOS。 确定退出?"
|
||||
IDS_ABORTSETUP2 "终止安装?"
|
||||
IDS_NO_TXTSETUP_SIF "无法找到 'txtsetup.sif'\n安装程序无法继续。"
|
||||
IDS_CAPTION "ReactOS 安装"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "名称"
|
||||
IDS_PARTITION_SIZE "大小"
|
||||
IDS_PARTITION_TYPE "类型"
|
||||
END
|
139
base/setup/reactos/lang/zh-TW.rc
Normal file
139
base/setup/reactos/lang/zh-TW.rc
Normal file
|
@ -0,0 +1,139 @@
|
|||
/* Traditional Chinese translation by Henry Tang Ih 2016 (henrytang2@hotmail.com) */
|
||||
|
||||
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
|
||||
|
||||
IDD_STARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 安裝"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "歡迎使用 ReactOS 安裝嚮導。", IDC_STARTTITLE, 115, 8, 195, 24
|
||||
LTEXT "您不能直接從此CD安裝 ReactOS! 請重新啟動並從CD引導您的電腦以便安裝 ReactOS。", IDC_STATIC, 115, 40, 195, 100
|
||||
LTEXT "點選完成退出安裝。", IDC_STATIC, 115, 169, 195, 17
|
||||
END
|
||||
|
||||
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 安裝"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "安裝 ReactOS", IDC_INSTALL, 7, 7, 277, 10
|
||||
LTEXT "安裝 ReactOS 的新副本。此選項沒有儲存你的檔案、 設定和程式。你可以對磁碟和分區進行更改。", IDC_INSTALLTEXT, 18, 18, 269, 25
|
||||
AUTORADIOBUTTON "修復或更新已安裝的 ReactOS", IDC_UPDATE, 7, 50, 277, 10
|
||||
LTEXT "更新或修復 ReactOS 安裝的副本。此選項會儲存您的檔案、 設定和程式。如果 ReactOS 已經安裝在此計算機上, 此選項才能使用的。", IDC_UPDATETEXT, 18, 61, 269, 30
|
||||
LTEXT "點選下一步安裝裝置。", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 安裝"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "計算機:", IDC_STATIC, 20, 15, 80, 10
|
||||
CONTROL "", IDC_COMPUTER, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 15, 180, 80
|
||||
LTEXT "顯示:", IDC_STATIC, 20, 35, 80, 10
|
||||
CONTROL "", IDC_DISPLAY, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 35, 180, 80
|
||||
LTEXT "鍵盤:", IDC_STATIC, 20, 55, 80, 10
|
||||
CONTROL "", IDC_KEYBOARD, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 100, 55, 180, 80
|
||||
LTEXT "點選下一步設定安裝驅動器。", IDC_STATIC, 7, 128, 297, 8
|
||||
END
|
||||
|
||||
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 安裝"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_PARTITION, "SysListView32", WS_BORDER | WS_VISIBLE | WS_TABSTOP | LVS_REPORT | LVS_SINGLESEL, 7, 7, 303, 112
|
||||
PUSHBUTTON "建立(&C)", IDC_PARTCREATE, 7, 122, 50, 15
|
||||
PUSHBUTTON "刪除(&D)", IDC_PARTDELETE, 63, 122, 50, 15
|
||||
PUSHBUTTON "驅動器(&r)", IDC_DEVICEDRIVER, 174, 122, 50, 15, WS_DISABLED
|
||||
PUSHBUTTON "高階選項(&A)...", IDC_PARTMOREOPTS, 230, 122, 80, 15
|
||||
LTEXT "點選下一步檢查安裝概要。", IDC_STATIC, 10, 180, 277, 20
|
||||
END
|
||||
|
||||
IDD_PARTITION DIALOGEX 0, 0, 145, 90
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "建立分區"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "", IDC_UPDOWN1, "msctls_updown32", WS_VISIBLE, 104, 22, 9, 13
|
||||
CONTROL "建立並格式化分區", IDC_STATIC, "Button", BS_GROUPBOX, 7, 5, 129, 57
|
||||
LTEXT "大小:", IDC_STATIC, 13, 24, 27, 9
|
||||
EDITTEXT IDC_PARTSIZE, 58, 22, 47, 13, WS_VISIBLE | WS_TABSTOP
|
||||
LTEXT "GB", IDC_UNIT, 117, 24, 14, 9
|
||||
LTEXT "檔案系統:", IDC_STATIC, 13, 46, 42, 9
|
||||
CONTROL "", IDC_FSTYPE, "ComboBox", WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST, 58, 42, 73, 50
|
||||
PUSHBUTTON "確定(&O)", IDOK, 35, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "取消(&C)", IDCANCEL, 87, 68, 47, 15, WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX 0, 0, 305, 116
|
||||
STYLE DS_SHELLFONT | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "高階分區設定"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "安裝資料夾", IDC_STATIC, "Button", BS_GROUPBOX, 4, 1, 298, 30
|
||||
EDITTEXT IDC_PATH, 10, 11, 278, 13, WS_VISIBLE
|
||||
CONTROL "引導器程式安裝", IDC_STATIC, "Button", BS_GROUPBOX, 4, 36, 298, 52
|
||||
CONTROL "安裝載入程式到硬碟 (MBR 和 VBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 46, 278, 11
|
||||
CONTROL "安裝載入程式到硬碟 (僅 VBR)", IDC_INSTVBRONLY, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10, 57, 278, 11
|
||||
CONTROL "不安裝載入程式", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 10, 68, 278, 11
|
||||
PUSHBUTTON "確定(&O)", IDOK, 180, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "取消(&C)", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 安裝"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "點選下一步開始安裝過程。", IDC_STATIC, 7, 180, 303, 20
|
||||
END
|
||||
|
||||
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 安裝"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "安裝檔案...", IDC_ACTIVITY, 20, 50, 277, 10
|
||||
LTEXT "test.txt", IDC_ITEM, 30, 80, 257, 10
|
||||
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
END
|
||||
|
||||
IDD_RESTARTPAGE DIALOGEX 0, 0, 317, 193
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "ReactOS 安裝完成"
|
||||
FONT 9, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "您成功完成 ReactOS 第一階段安裝過程。", IDC_STATIC, 20, 50, 277, 10
|
||||
LTEXT "點選完成後,您的電腦將會重新啟動。", IDC_STATIC, 20, 80, 277, 10
|
||||
CONTROL "", IDC_RESTART_PROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 20, 120, 277, 8
|
||||
LTEXT "請從光碟驅動器取出任何光碟。然後,點選完成重啟您的電腦。", IDC_STATIC, 10, 180, 297, 20
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TYPETITLE "ReactOS 安裝"
|
||||
IDS_TYPESUBTITLE "選擇安裝類型。"
|
||||
IDS_DEVICETITLE "設定基本裝置。"
|
||||
IDS_DEVICESUBTITLE "指定顯示和鍵盤設定。"
|
||||
IDS_DRIVETITLE "設定安裝分區和系統資料夾"
|
||||
IDS_DRIVESUBTITLE "設定安裝分區,系統資料夾和載入程式。"
|
||||
IDS_PROCESSTITLE "設定分區,複製檔案並安裝系統"
|
||||
IDS_PROCESSSUBTITLE "建立並格式化分區,複製檔案,安裝並設定載入程式"
|
||||
IDS_RESTARTTITLE "第一階段安裝完成"
|
||||
IDS_RESTARTSUBTITLE "第一階段安裝已經完成,重新啟動進行第二階段安裝"
|
||||
IDS_SUMMARYTITLE "安裝概要"
|
||||
IDS_SUMMARYSUBTITLE "正是安裝前列出安裝屬性以供檢查"
|
||||
IDS_ABORTSETUP "ReactOS 未在您的電腦上安裝完成。如果您現在退出安裝程式,您需要在一次運行安裝程式來安裝 ReactOS。 確定退出?"
|
||||
IDS_ABORTSETUP2 "終止安裝?"
|
||||
IDS_NO_TXTSETUP_SIF "無法找到 'txtsetup.sif'\n安裝程式無法繼續。"
|
||||
IDS_CAPTION "ReactOS 安裝"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PARTITION_NAME "名稱"
|
||||
IDS_PARTITION_SIZE "大小"
|
||||
IDS_PARTITION_TYPE "類型"
|
||||
END
|
926
base/setup/reactos/reactos.c
Normal file
926
base/setup/reactos/reactos.c
Normal file
|
@ -0,0 +1,926 @@
|
|||
/*
|
||||
* ReactOS applications
|
||||
* Copyright (C) 2004-2008 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS GUI first stage setup application
|
||||
* FILE: base/setup/reactos/reactos.c
|
||||
* PROGRAMMERS: Eric Kohl
|
||||
* Matthias Kupfer
|
||||
* Dmitry Chapyshev (dmitry@reactos.org)
|
||||
*/
|
||||
|
||||
#include "reactos.h"
|
||||
#include "resource.h"
|
||||
|
||||
/* GLOBALS ******************************************************************/
|
||||
|
||||
|
||||
LONG LoadGenentry(HINF hinf,PCTSTR name,PGENENTRY *gen,PINFCONTEXT context);
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
static 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 HFONT
|
||||
CreateTitleFont(VOID)
|
||||
{
|
||||
NONCLIENTMETRICS ncm;
|
||||
LOGFONT LogFont;
|
||||
HDC hdc;
|
||||
INT FontSize;
|
||||
HFONT hFont;
|
||||
|
||||
ncm.cbSize = sizeof(NONCLIENTMETRICS);
|
||||
SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, &ncm, 0);
|
||||
|
||||
LogFont = ncm.lfMessageFont;
|
||||
LogFont.lfWeight = FW_BOLD;
|
||||
_tcscpy(LogFont.lfFaceName, _T("MS Shell Dlg"));
|
||||
|
||||
hdc = GetDC(NULL);
|
||||
FontSize = 12;
|
||||
LogFont.lfHeight = 0 - GetDeviceCaps (hdc, LOGPIXELSY) * FontSize / 72;
|
||||
hFont = CreateFontIndirect(&LogFont);
|
||||
ReleaseDC(NULL, hdc);
|
||||
|
||||
return hFont;
|
||||
}
|
||||
|
||||
static INT_PTR CALLBACK
|
||||
StartDlgProc(HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
PSETUPDATA pSetupData;
|
||||
|
||||
/* Retrieve pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)GetWindowLongPtr (hwndDlg, GWL_USERDATA);
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
/* Save pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
|
||||
SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
|
||||
|
||||
/* Center the wizard window */
|
||||
CenterWindow(GetParent(hwndDlg));
|
||||
|
||||
/* Set title font */
|
||||
SendDlgItemMessage(hwndDlg,
|
||||
IDC_STARTTITLE,
|
||||
WM_SETFONT,
|
||||
(WPARAM)pSetupData->hTitleFont,
|
||||
(LPARAM)TRUE);
|
||||
break;
|
||||
|
||||
case WM_NOTIFY:
|
||||
{
|
||||
LPNMHDR lpnm = (LPNMHDR)lParam;
|
||||
|
||||
switch (lpnm->code)
|
||||
{
|
||||
case PSN_SETACTIVE:
|
||||
PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_NEXT);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static INT_PTR CALLBACK
|
||||
TypeDlgProc(HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
PSETUPDATA pSetupData;
|
||||
|
||||
/* Retrieve pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)GetWindowLongPtr (hwndDlg, GWL_USERDATA);
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
/* Save pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
|
||||
SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
|
||||
|
||||
/* Check the 'install' radio button */
|
||||
CheckDlgButton(hwndDlg, IDC_INSTALL, BST_CHECKED);
|
||||
|
||||
/* Disable the 'update' radio button and text */
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDC_UPDATE), FALSE);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDC_UPDATETEXT), FALSE);
|
||||
break;
|
||||
|
||||
case WM_NOTIFY:
|
||||
{
|
||||
LPNMHDR lpnm = (LPNMHDR)lParam;
|
||||
|
||||
switch (lpnm->code)
|
||||
{
|
||||
case PSN_SETACTIVE:
|
||||
PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_NEXT | PSWIZB_BACK);
|
||||
break;
|
||||
|
||||
case PSN_QUERYCANCEL:
|
||||
SetWindowLongPtr(hwndDlg,
|
||||
DWL_MSGRESULT,
|
||||
MessageBox(GetParent(hwndDlg),
|
||||
pSetupData->szAbortMessage,
|
||||
pSetupData->szAbortTitle,
|
||||
MB_YESNO | MB_ICONQUESTION) != IDYES);
|
||||
return TRUE;
|
||||
|
||||
case PSN_WIZNEXT: // set the selected data
|
||||
pSetupData->RepairUpdateFlag = !(SendMessage(GetDlgItem(hwndDlg, IDC_INSTALL),
|
||||
BM_GETCHECK,
|
||||
(WPARAM) 0,
|
||||
(LPARAM) 0) == BST_CHECKED);
|
||||
return TRUE;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static INT_PTR CALLBACK
|
||||
DeviceDlgProc(HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
PSETUPDATA pSetupData;
|
||||
LONG i;
|
||||
LRESULT tindex;
|
||||
HWND hList;
|
||||
|
||||
/* Retrieve pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)GetWindowLongPtr (hwndDlg, GWL_USERDATA);
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
/* Save pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
|
||||
SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
|
||||
|
||||
hList = GetDlgItem(hwndDlg, IDC_COMPUTER);
|
||||
|
||||
for (i=0; i < pSetupData->CompCount; i++)
|
||||
{
|
||||
tindex = SendMessage(hList, CB_ADDSTRING, (WPARAM) 0, (LPARAM) pSetupData->pComputers[i].Value);
|
||||
SendMessage(hList, CB_SETITEMDATA, tindex, i);
|
||||
}
|
||||
SendMessage(hList, CB_SETCURSEL, 0, 0); // set first as default
|
||||
|
||||
hList = GetDlgItem(hwndDlg, IDC_DISPLAY);
|
||||
|
||||
for (i=0; i < pSetupData->DispCount; i++)
|
||||
{
|
||||
tindex = SendMessage(hList, CB_ADDSTRING, (WPARAM) 0, (LPARAM) pSetupData->pDisplays[i].Value);
|
||||
SendMessage(hList, CB_SETITEMDATA, tindex, i);
|
||||
}
|
||||
SendMessage(hList, CB_SETCURSEL, 0, 0); // set first as default
|
||||
|
||||
hList = GetDlgItem(hwndDlg, IDC_KEYBOARD);
|
||||
|
||||
for (i=0; i < pSetupData->KeybCount; i++)
|
||||
{
|
||||
tindex = SendMessage(hList,CB_ADDSTRING,(WPARAM)0,(LPARAM)pSetupData->pKeyboards[i].Value);
|
||||
SendMessage(hList,CB_SETITEMDATA,tindex,i);
|
||||
}
|
||||
SendMessage(hList,CB_SETCURSEL,0,0); // set first as default
|
||||
break;
|
||||
|
||||
case WM_NOTIFY:
|
||||
{
|
||||
LPNMHDR lpnm = (LPNMHDR)lParam;
|
||||
|
||||
switch (lpnm->code)
|
||||
{
|
||||
case PSN_SETACTIVE:
|
||||
PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_NEXT | PSWIZB_BACK);
|
||||
break;
|
||||
|
||||
case PSN_QUERYCANCEL:
|
||||
SetWindowLongPtr(hwndDlg,
|
||||
DWL_MSGRESULT,
|
||||
MessageBox(GetParent(hwndDlg),
|
||||
pSetupData->szAbortMessage,
|
||||
pSetupData->szAbortTitle,
|
||||
MB_YESNO | MB_ICONQUESTION) != IDYES);
|
||||
return TRUE;
|
||||
|
||||
case PSN_WIZNEXT: // set the selected data
|
||||
{
|
||||
hList = GetDlgItem(hwndDlg, IDC_COMPUTER);
|
||||
|
||||
tindex = SendMessage(hList, CB_GETCURSEL, (WPARAM) 0, (LPARAM) 0);
|
||||
if (tindex != CB_ERR)
|
||||
{
|
||||
pSetupData->SelectedComputer = SendMessage(hList,
|
||||
CB_GETITEMDATA,
|
||||
(WPARAM) tindex,
|
||||
(LPARAM) 0);
|
||||
}
|
||||
|
||||
hList = GetDlgItem(hwndDlg, IDC_DISPLAY);
|
||||
|
||||
tindex = SendMessage(hList, CB_GETCURSEL, (WPARAM) 0, (LPARAM) 0);
|
||||
if (tindex != CB_ERR)
|
||||
{
|
||||
pSetupData->SelectedDisplay = SendMessage(hList,
|
||||
CB_GETITEMDATA,
|
||||
(WPARAM) tindex,
|
||||
(LPARAM) 0);
|
||||
}
|
||||
|
||||
hList =GetDlgItem(hwndDlg, IDC_KEYBOARD);
|
||||
|
||||
tindex = SendMessage(hList, CB_GETCURSEL, (WPARAM) 0, (LPARAM) 0);
|
||||
if (tindex != CB_ERR)
|
||||
{
|
||||
pSetupData->SelectedKeyboard = SendMessage(hList,
|
||||
CB_GETITEMDATA,
|
||||
(WPARAM) tindex,
|
||||
(LPARAM) 0);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static INT_PTR CALLBACK
|
||||
SummaryDlgProc(HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
PSETUPDATA pSetupData;
|
||||
|
||||
/* Retrieve pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)GetWindowLongPtr (hwndDlg, GWL_USERDATA);
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
/* Save pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
|
||||
SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
|
||||
break;
|
||||
|
||||
case WM_NOTIFY:
|
||||
{
|
||||
LPNMHDR lpnm = (LPNMHDR)lParam;
|
||||
|
||||
switch (lpnm->code)
|
||||
{
|
||||
case PSN_SETACTIVE:
|
||||
PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_NEXT | PSWIZB_BACK);
|
||||
break;
|
||||
|
||||
case PSN_QUERYCANCEL:
|
||||
SetWindowLongPtr(hwndDlg,
|
||||
DWL_MSGRESULT,
|
||||
MessageBox(GetParent(hwndDlg),
|
||||
pSetupData->szAbortMessage,
|
||||
pSetupData->szAbortTitle,
|
||||
MB_YESNO | MB_ICONQUESTION) != IDYES);
|
||||
return TRUE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static INT_PTR CALLBACK
|
||||
ProcessDlgProc(HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
PSETUPDATA pSetupData;
|
||||
|
||||
/* Retrieve pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)GetWindowLongPtr (hwndDlg, GWL_USERDATA);
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
/* Save pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
|
||||
SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
|
||||
break;
|
||||
|
||||
case WM_NOTIFY:
|
||||
{
|
||||
LPNMHDR lpnm = (LPNMHDR)lParam;
|
||||
|
||||
switch (lpnm->code)
|
||||
{
|
||||
case PSN_SETACTIVE:
|
||||
PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_NEXT);
|
||||
// disable all buttons during installation process
|
||||
// PropSheet_SetWizButtons(GetParent(hwndDlg), 0 );
|
||||
break;
|
||||
case PSN_QUERYCANCEL:
|
||||
SetWindowLongPtr(hwndDlg,
|
||||
DWL_MSGRESULT,
|
||||
MessageBox(GetParent(hwndDlg),
|
||||
pSetupData->szAbortMessage,
|
||||
pSetupData->szAbortTitle,
|
||||
MB_YESNO | MB_ICONQUESTION) != IDYES);
|
||||
return TRUE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static INT_PTR CALLBACK
|
||||
RestartDlgProc(HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
PSETUPDATA pSetupData;
|
||||
|
||||
/* Retrieve pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)GetWindowLongPtr (hwndDlg, GWL_USERDATA);
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
/* Save pointer to the global setup data */
|
||||
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
|
||||
SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
|
||||
|
||||
/* Set title font */
|
||||
/*SendDlgItemMessage(hwndDlg,
|
||||
IDC_STARTTITLE,
|
||||
WM_SETFONT,
|
||||
(WPARAM)hTitleFont,
|
||||
(LPARAM)TRUE);*/
|
||||
break;
|
||||
|
||||
case WM_TIMER:
|
||||
{
|
||||
INT Position;
|
||||
HWND hWndProgress;
|
||||
|
||||
hWndProgress = GetDlgItem(hwndDlg, IDC_RESTART_PROGRESS);
|
||||
Position = SendMessage(hWndProgress, PBM_GETPOS, 0, 0);
|
||||
if (Position == 300)
|
||||
{
|
||||
KillTimer(hwndDlg, 1);
|
||||
PropSheet_PressButton(GetParent(hwndDlg), PSBTN_FINISH);
|
||||
}
|
||||
else
|
||||
{
|
||||
SendMessage(hWndProgress, PBM_SETPOS, Position + 1, 0);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case WM_DESTROY:
|
||||
return TRUE;
|
||||
|
||||
case WM_NOTIFY:
|
||||
{
|
||||
LPNMHDR lpnm = (LPNMHDR)lParam;
|
||||
|
||||
switch (lpnm->code)
|
||||
{
|
||||
case PSN_SETACTIVE: // Only "Finish" for closing the App
|
||||
PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_FINISH);
|
||||
SendDlgItemMessage(hwndDlg, IDC_RESTART_PROGRESS, PBM_SETRANGE, 0, MAKELPARAM(0, 300));
|
||||
SendDlgItemMessage(hwndDlg, IDC_RESTART_PROGRESS, PBM_SETPOS, 0, 0);
|
||||
SetTimer(hwndDlg, 1, 50, NULL);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL LoadSetupData(
|
||||
PSETUPDATA pSetupData)
|
||||
{
|
||||
WCHAR szPath[MAX_PATH];
|
||||
TCHAR tmp[10];
|
||||
WCHAR *ch;
|
||||
HINF hTxtsetupSif = INVALID_HANDLE_VALUE;
|
||||
INFCONTEXT InfContext;
|
||||
//TCHAR szValue[MAX_PATH];
|
||||
DWORD LineLength;
|
||||
LONG Count;
|
||||
BOOL ret = TRUE;
|
||||
|
||||
GetModuleFileNameW(NULL,szPath,MAX_PATH);
|
||||
ch = strrchrW(szPath,L'\\');
|
||||
if (ch != NULL)
|
||||
*ch = L'\0';
|
||||
|
||||
wcscat(szPath, L"\\txtsetup.sif");
|
||||
hTxtsetupSif = SetupOpenInfFileW(szPath, NULL, INF_STYLE_OLDNT, NULL);
|
||||
if (hTxtsetupSif == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
TCHAR message[512], caption[64];
|
||||
|
||||
// txtsetup.sif cannot be found
|
||||
LoadString(pSetupData->hInstance, IDS_NO_TXTSETUP_SIF, message, sizeof(message)/sizeof(TCHAR));
|
||||
LoadString(pSetupData->hInstance, IDS_CAPTION, caption, sizeof(caption)/sizeof(TCHAR));
|
||||
|
||||
MessageBox(NULL, message, caption, MB_OK | MB_ICONERROR);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// get language list
|
||||
pSetupData->LangCount = SetupGetLineCount(hTxtsetupSif, _T("Language"));
|
||||
if (pSetupData->LangCount > 0)
|
||||
{
|
||||
pSetupData->pLanguages = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(LANG) * pSetupData->LangCount);
|
||||
if (pSetupData->pLanguages == NULL)
|
||||
{
|
||||
ret = FALSE;
|
||||
goto done;
|
||||
}
|
||||
|
||||
Count = 0;
|
||||
if (SetupFindFirstLine(hTxtsetupSif, _T("Language"), NULL, &InfContext))
|
||||
{
|
||||
do
|
||||
{
|
||||
SetupGetStringField(&InfContext,
|
||||
0,
|
||||
pSetupData->pLanguages[Count].LangId,
|
||||
sizeof(pSetupData->pLanguages[Count].LangId) / sizeof(TCHAR),
|
||||
&LineLength);
|
||||
|
||||
SetupGetStringField(&InfContext,
|
||||
1,
|
||||
pSetupData->pLanguages[Count].LangName,
|
||||
sizeof(pSetupData->pLanguages[Count].LangName) / sizeof(TCHAR),
|
||||
&LineLength);
|
||||
++Count;
|
||||
}
|
||||
while (SetupFindNextLine(&InfContext, &InfContext) && Count < pSetupData->LangCount);
|
||||
}
|
||||
}
|
||||
|
||||
// get keyboard layout list
|
||||
pSetupData->KbLayoutCount = SetupGetLineCount(hTxtsetupSif, _T("KeyboardLayout"));
|
||||
if (pSetupData->KbLayoutCount > 0)
|
||||
{
|
||||
pSetupData->pKbLayouts = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(KBLAYOUT) * pSetupData->KbLayoutCount);
|
||||
if (pSetupData->pKbLayouts == NULL)
|
||||
{
|
||||
ret = FALSE;
|
||||
goto done;
|
||||
}
|
||||
|
||||
Count = 0;
|
||||
if (SetupFindFirstLine(hTxtsetupSif, _T("KeyboardLayout"), NULL, &InfContext))
|
||||
{
|
||||
do
|
||||
{
|
||||
SetupGetStringField(&InfContext,
|
||||
0,
|
||||
pSetupData->pKbLayouts[Count].LayoutId,
|
||||
sizeof(pSetupData->pKbLayouts[Count].LayoutId) / sizeof(TCHAR),
|
||||
&LineLength);
|
||||
|
||||
SetupGetStringField(&InfContext,
|
||||
1,
|
||||
pSetupData->pKbLayouts[Count].LayoutName,
|
||||
sizeof(pSetupData->pKbLayouts[Count].LayoutName) / sizeof(TCHAR),
|
||||
&LineLength);
|
||||
++Count;
|
||||
}
|
||||
while (SetupFindNextLine(&InfContext, &InfContext) && Count < pSetupData->KbLayoutCount);
|
||||
}
|
||||
}
|
||||
|
||||
// get default for keyboard and language
|
||||
pSetupData->DefaultKBLayout = -1;
|
||||
pSetupData->DefaultLang = -1;
|
||||
|
||||
// TODO: get defaults from underlaying running system
|
||||
if (SetupFindFirstLine(hTxtsetupSif, _T("NLS"), _T("DefaultLayout"), &InfContext))
|
||||
{
|
||||
SetupGetStringField(&InfContext, 1, tmp, sizeof(tmp) / sizeof(TCHAR), &LineLength);
|
||||
for (Count = 0; Count < pSetupData->KbLayoutCount; Count++)
|
||||
{
|
||||
if (_tcscmp(tmp, pSetupData->pKbLayouts[Count].LayoutId) == 0)
|
||||
{
|
||||
pSetupData->DefaultKBLayout = Count;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (SetupFindFirstLine(hTxtsetupSif, _T("NLS"), _T("DefaultLanguage"), &InfContext))
|
||||
{
|
||||
SetupGetStringField(&InfContext, 1, tmp, sizeof(tmp) / sizeof(TCHAR), &LineLength);
|
||||
for (Count = 0; Count < pSetupData->LangCount; Count++)
|
||||
{
|
||||
if (_tcscmp(tmp, pSetupData->pLanguages[Count].LangId) == 0)
|
||||
{
|
||||
pSetupData->DefaultLang = Count;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// get computers list
|
||||
pSetupData->CompCount = LoadGenentry(hTxtsetupSif,_T("Computer"),&pSetupData->pComputers,&InfContext);
|
||||
|
||||
// get display list
|
||||
pSetupData->DispCount = LoadGenentry(hTxtsetupSif,_T("Display"),&pSetupData->pDisplays,&InfContext);
|
||||
|
||||
// get keyboard list
|
||||
pSetupData->KeybCount = LoadGenentry(hTxtsetupSif, _T("Keyboard"),&pSetupData->pKeyboards,&InfContext);
|
||||
|
||||
// get install directory
|
||||
if (SetupFindFirstLine(hTxtsetupSif, _T("SetupData"), _T("DefaultPath"), &InfContext))
|
||||
{
|
||||
SetupGetStringField(&InfContext,
|
||||
1,
|
||||
pSetupData->InstallDir,
|
||||
sizeof(pSetupData->InstallDir) / sizeof(TCHAR),
|
||||
&LineLength);
|
||||
}
|
||||
|
||||
done:
|
||||
if (ret == FALSE)
|
||||
{
|
||||
if (pSetupData->pKbLayouts != NULL)
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, pSetupData->pKbLayouts);
|
||||
pSetupData->pKbLayouts = NULL;
|
||||
}
|
||||
|
||||
if (pSetupData->pLanguages != NULL)
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, pSetupData->pLanguages);
|
||||
pSetupData->pLanguages = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (hTxtsetupSif != INVALID_HANDLE_VALUE)
|
||||
SetupCloseInfFile(hTxtsetupSif);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
LONG LoadGenentry(HINF hinf,PCTSTR name,PGENENTRY *gen,PINFCONTEXT context)
|
||||
{
|
||||
LONG TotalCount;
|
||||
DWORD LineLength;
|
||||
|
||||
TotalCount = SetupGetLineCount(hinf, name);
|
||||
if (TotalCount > 0)
|
||||
{
|
||||
*gen = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(GENENTRY) * TotalCount);
|
||||
if (*gen != NULL)
|
||||
{
|
||||
if (SetupFindFirstLine(hinf, name, NULL, context))
|
||||
{
|
||||
LONG Count = 0;
|
||||
do
|
||||
{
|
||||
SetupGetStringField(context,
|
||||
0,
|
||||
(*gen)[Count].Id,
|
||||
sizeof((*gen)[Count].Id) / sizeof(TCHAR),
|
||||
&LineLength);
|
||||
|
||||
SetupGetStringField(context,
|
||||
1,
|
||||
(*gen)[Count].Value,
|
||||
sizeof((*gen)[Count].Value) / sizeof(TCHAR),
|
||||
&LineLength);
|
||||
++Count;
|
||||
}
|
||||
while (SetupFindNextLine(context, context) && Count < TotalCount);
|
||||
}
|
||||
}
|
||||
else return 0;
|
||||
}
|
||||
return TotalCount;
|
||||
}
|
||||
|
||||
BOOL isUnattendSetup(VOID)
|
||||
{
|
||||
WCHAR szPath[MAX_PATH];
|
||||
WCHAR *ch;
|
||||
HINF hUnattendedInf;
|
||||
INFCONTEXT InfContext;
|
||||
TCHAR szValue[MAX_PATH];
|
||||
DWORD LineLength;
|
||||
//HKEY hKey;
|
||||
BOOL result = 0;
|
||||
|
||||
GetModuleFileNameW(NULL, szPath, MAX_PATH);
|
||||
ch = strrchrW(szPath, L'\\');
|
||||
if (ch != NULL)
|
||||
*ch = L'\0';
|
||||
|
||||
wcscat(szPath, L"\\unattend.inf");
|
||||
hUnattendedInf = SetupOpenInfFileW(szPath, NULL, INF_STYLE_OLDNT, NULL);
|
||||
|
||||
if (hUnattendedInf != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
if (SetupFindFirstLine(hUnattendedInf, _T("Unattend"), _T("UnattendSetupEnabled"),&InfContext))
|
||||
{
|
||||
if (SetupGetStringField(&InfContext,
|
||||
1,
|
||||
szValue,
|
||||
sizeof(szValue) / sizeof(TCHAR),
|
||||
&LineLength) && (_tcsicmp(szValue, _T("yes")) == 0))
|
||||
{
|
||||
result = 1; // unattendSetup enabled
|
||||
// read values and store in SetupData
|
||||
}
|
||||
}
|
||||
SetupCloseInfFile(hUnattendedInf);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
#if 0
|
||||
static
|
||||
VOID
|
||||
EnableShutdownPrivilege(VOID)
|
||||
{
|
||||
HANDLE hToken = NULL;
|
||||
TOKEN_PRIVILEGES Privileges;
|
||||
|
||||
/* Get shutdown privilege */
|
||||
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken))
|
||||
{
|
||||
// FatalError("OpenProcessToken() failed!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!LookupPrivilegeValue(NULL,
|
||||
SE_SHUTDOWN_NAME,
|
||||
&Privileges.Privileges[0].Luid))
|
||||
{
|
||||
// FatalError("LookupPrivilegeValue() failed!");
|
||||
goto done;
|
||||
}
|
||||
|
||||
Privileges.PrivilegeCount = 1;
|
||||
Privileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
|
||||
|
||||
if (AdjustTokenPrivileges(hToken,
|
||||
FALSE,
|
||||
&Privileges,
|
||||
0,
|
||||
(PTOKEN_PRIVILEGES)NULL,
|
||||
NULL) == 0)
|
||||
{
|
||||
// FatalError("AdjustTokenPrivileges() failed!");
|
||||
goto done;
|
||||
}
|
||||
|
||||
done:
|
||||
if (hToken != NULL)
|
||||
CloseHandle(hToken);
|
||||
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
int WINAPI
|
||||
_tWinMain(HINSTANCE hInst,
|
||||
HINSTANCE hPrevInstance,
|
||||
LPTSTR lpszCmdLine,
|
||||
int nCmdShow)
|
||||
{
|
||||
PSETUPDATA pSetupData = NULL;
|
||||
PROPSHEETHEADER psh;
|
||||
HPROPSHEETPAGE ahpsp[8];
|
||||
PROPSHEETPAGE psp = {0};
|
||||
UINT nPages = 0;
|
||||
|
||||
pSetupData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(SETUPDATA));
|
||||
if (pSetupData == NULL)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
pSetupData->hInstance = hInst;
|
||||
pSetupData->bUnattend = isUnattendSetup();
|
||||
|
||||
LoadString(hInst,IDS_ABORTSETUP, pSetupData->szAbortMessage, sizeof(pSetupData->szAbortMessage)/sizeof(TCHAR));
|
||||
LoadString(hInst,IDS_ABORTSETUP2, pSetupData->szAbortTitle, sizeof(pSetupData->szAbortTitle)/sizeof(TCHAR));
|
||||
|
||||
/* Create title font */
|
||||
pSetupData->hTitleFont = CreateTitleFont();
|
||||
|
||||
if (!pSetupData->bUnattend)
|
||||
{
|
||||
if (!LoadSetupData(pSetupData))
|
||||
{
|
||||
HeapFree(GetProcessHeap(), 0, pSetupData);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Create the Start page, until setup is working */
|
||||
psp.dwSize = sizeof(PROPSHEETPAGE);
|
||||
psp.dwFlags = PSP_DEFAULT | PSP_HIDEHEADER;
|
||||
psp.hInstance = hInst;
|
||||
psp.lParam = (LPARAM)pSetupData;
|
||||
psp.pfnDlgProc = StartDlgProc;
|
||||
psp.pszTemplate = MAKEINTRESOURCE(IDD_STARTPAGE);
|
||||
ahpsp[nPages++] = CreatePropertySheetPage(&psp);
|
||||
|
||||
/* Create install type selection page */
|
||||
psp.dwSize = sizeof(PROPSHEETPAGE);
|
||||
psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
|
||||
psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_TYPETITLE);
|
||||
psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_TYPESUBTITLE);
|
||||
psp.hInstance = hInst;
|
||||
psp.lParam = (LPARAM)pSetupData;
|
||||
psp.pfnDlgProc = TypeDlgProc;
|
||||
psp.pszTemplate = MAKEINTRESOURCE(IDD_TYPEPAGE);
|
||||
ahpsp[nPages++] = CreatePropertySheetPage(&psp);
|
||||
|
||||
/* Create device settings page */
|
||||
psp.dwSize = sizeof(PROPSHEETPAGE);
|
||||
psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
|
||||
psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_DEVICETITLE);
|
||||
psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_DEVICESUBTITLE);
|
||||
psp.hInstance = hInst;
|
||||
psp.lParam = (LPARAM)pSetupData;
|
||||
psp.pfnDlgProc = DeviceDlgProc;
|
||||
psp.pszTemplate = MAKEINTRESOURCE(IDD_DEVICEPAGE);
|
||||
ahpsp[nPages++] = CreatePropertySheetPage(&psp);
|
||||
|
||||
/* Create install device settings page / boot method / install directory */
|
||||
psp.dwSize = sizeof(PROPSHEETPAGE);
|
||||
psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
|
||||
psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_DRIVETITLE);
|
||||
psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_DRIVESUBTITLE);
|
||||
psp.hInstance = hInst;
|
||||
psp.lParam = (LPARAM)pSetupData;
|
||||
psp.pfnDlgProc = DriveDlgProc;
|
||||
psp.pszTemplate = MAKEINTRESOURCE(IDD_DRIVEPAGE);
|
||||
ahpsp[nPages++] = CreatePropertySheetPage(&psp);
|
||||
|
||||
/* Create summary page */
|
||||
psp.dwSize = sizeof(PROPSHEETPAGE);
|
||||
psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
|
||||
psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_SUMMARYTITLE);
|
||||
psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_SUMMARYSUBTITLE);
|
||||
psp.hInstance = hInst;
|
||||
psp.lParam = (LPARAM)pSetupData;
|
||||
psp.pfnDlgProc = SummaryDlgProc;
|
||||
psp.pszTemplate = MAKEINTRESOURCE(IDD_SUMMARYPAGE);
|
||||
ahpsp[nPages++] = CreatePropertySheetPage(&psp);
|
||||
}
|
||||
|
||||
/* Create installation progress page */
|
||||
psp.dwSize = sizeof(PROPSHEETPAGE);
|
||||
psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
|
||||
psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_PROCESSTITLE);
|
||||
psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_PROCESSSUBTITLE);
|
||||
psp.hInstance = hInst;
|
||||
psp.lParam = (LPARAM)pSetupData;
|
||||
psp.pfnDlgProc = ProcessDlgProc;
|
||||
psp.pszTemplate = MAKEINTRESOURCE(IDD_PROCESSPAGE);
|
||||
ahpsp[nPages++] = CreatePropertySheetPage(&psp);
|
||||
|
||||
/* Create finish to reboot page */
|
||||
psp.dwSize = sizeof(PROPSHEETPAGE);
|
||||
psp.dwFlags = PSP_DEFAULT | PSP_HIDEHEADER;
|
||||
psp.hInstance = hInst;
|
||||
psp.lParam = (LPARAM)pSetupData;
|
||||
psp.pfnDlgProc = RestartDlgProc;
|
||||
psp.pszTemplate = MAKEINTRESOURCE(IDD_RESTARTPAGE);
|
||||
ahpsp[nPages++] = CreatePropertySheetPage(&psp);
|
||||
|
||||
/* Create the property sheet */
|
||||
psh.dwSize = sizeof(PROPSHEETHEADER);
|
||||
psh.dwFlags = PSH_WIZARD97 | PSH_WATERMARK | PSH_HEADER;
|
||||
psh.hInstance = hInst;
|
||||
psh.hwndParent = NULL;
|
||||
psh.nPages = nPages;
|
||||
psh.nStartPage = 0;
|
||||
psh.phpage = ahpsp;
|
||||
psh.pszbmWatermark = MAKEINTRESOURCE(IDB_WATERMARK);
|
||||
psh.pszbmHeader = MAKEINTRESOURCE(IDB_HEADER);
|
||||
|
||||
/* Display the wizard */
|
||||
PropertySheet(&psh);
|
||||
|
||||
if (pSetupData->hTitleFont)
|
||||
DeleteObject(pSetupData->hTitleFont);
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, pSetupData);
|
||||
|
||||
#if 0
|
||||
EnableShutdownPrivilege();
|
||||
ExitWindowsEx(EWX_REBOOT, 0);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* EOF */
|
124
base/setup/reactos/reactos.h
Normal file
124
base/setup/reactos/reactos.h
Normal file
|
@ -0,0 +1,124 @@
|
|||
/*
|
||||
* ReactOS applications
|
||||
* Copyright (C) 2004-2008 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS GUI first stage setup application
|
||||
* FILE: base/setup/reactos/reactos.c
|
||||
* PROGRAMMERS: Eric Kohl
|
||||
* Matthias Kupfer
|
||||
* Dmitry Chapyshev (dmitry@reactos.org)
|
||||
*/
|
||||
|
||||
#ifndef _REACTOS_PCH_
|
||||
#define _REACTOS_PCH_
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <windef.h>
|
||||
#include <winbase.h>
|
||||
#include <winreg.h>
|
||||
#include <wingdi.h>
|
||||
#include <winuser.h>
|
||||
#include <tchar.h>
|
||||
#include <setupapi.h>
|
||||
#include <devguid.h>
|
||||
#include <wine/unicode.h>
|
||||
|
||||
|
||||
typedef struct _LANG
|
||||
{
|
||||
TCHAR LangId[9];
|
||||
TCHAR LangName[128];
|
||||
} LANG, *PLANG;
|
||||
|
||||
typedef struct _KBLAYOUT
|
||||
{
|
||||
TCHAR LayoutId[9];
|
||||
TCHAR LayoutName[128];
|
||||
TCHAR DllName[128];
|
||||
} KBLAYOUT, *PKBLAYOUT;
|
||||
|
||||
|
||||
// generic entries with simple 1:1 mapping
|
||||
typedef struct _GENENTRY
|
||||
{
|
||||
TCHAR Id[24];
|
||||
TCHAR Value[128];
|
||||
} GENENTRY, *PGENENTRY;
|
||||
|
||||
typedef struct _SETUPDATA
|
||||
{
|
||||
/* General */
|
||||
HINSTANCE hInstance;
|
||||
BOOL bUnattend;
|
||||
|
||||
HFONT hTitleFont;
|
||||
|
||||
TCHAR szAbortMessage[512];
|
||||
TCHAR szAbortTitle[64];
|
||||
|
||||
// Settings
|
||||
LONG DestDiskNumber; // physical disk
|
||||
LONG DestPartNumber; // partition on disk
|
||||
LONG DestPartSize; // if partition doesn't exist, size of partition
|
||||
LONG FSType; // file system type on partition
|
||||
LONG MBRInstallType; // install bootloader
|
||||
LONG FormatPart; // type of format the partition
|
||||
LONG SelectedLangId; // selected language (table index)
|
||||
LONG SelectedKBLayout; // selected keyboard layout (table index)
|
||||
TCHAR InstallDir[MAX_PATH]; // installation directory on hdd
|
||||
LONG SelectedComputer; // selected computer type (table index)
|
||||
LONG SelectedDisplay; // selected display type (table index)
|
||||
LONG SelectedKeyboard; // selected keyboard type (table index)
|
||||
BOOLEAN RepairUpdateFlag; // flag for update/repair an installed reactos
|
||||
// txtsetup.sif data
|
||||
LONG DefaultLang; // default language (table index)
|
||||
PLANG pLanguages;
|
||||
LONG LangCount;
|
||||
LONG DefaultKBLayout; // default keyboard layout (table index)
|
||||
PKBLAYOUT pKbLayouts;
|
||||
LONG KbLayoutCount;
|
||||
PGENENTRY pComputers;
|
||||
LONG CompCount;
|
||||
PGENENTRY pDisplays;
|
||||
LONG DispCount;
|
||||
PGENENTRY pKeyboards;
|
||||
LONG KeybCount;
|
||||
} SETUPDATA, *PSETUPDATA;
|
||||
|
||||
typedef struct _IMGINFO
|
||||
{
|
||||
HBITMAP hBitmap;
|
||||
INT cxSource;
|
||||
INT cySource;
|
||||
} IMGINFO, *PIMGINFO;
|
||||
|
||||
|
||||
|
||||
/* drivepage.c */
|
||||
INT_PTR
|
||||
CALLBACK
|
||||
DriveDlgProc(
|
||||
HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam);
|
||||
|
||||
#endif /* _REACTOS_PCH_ */
|
||||
|
||||
/* EOP */
|
100
base/setup/reactos/reactos.rc
Normal file
100
base/setup/reactos/reactos.rc
Normal file
|
@ -0,0 +1,100 @@
|
|||
#include <windef.h>
|
||||
#include <winuser.h>
|
||||
#include <commctrl.h>
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Setup"
|
||||
#define REACTOS_STR_INTERNAL_NAME "reactos"
|
||||
#define REACTOS_STR_ORIGINAL_FILENAME "reactos.exe"
|
||||
#include <reactos/version.rc>
|
||||
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
|
||||
/* Icons */
|
||||
IDI_MAIN ICON "res/setup.ico"
|
||||
|
||||
/* Bitmaps */
|
||||
IDB_WATERMARK BITMAP "res/watermark.bmp"
|
||||
IDB_HEADER BITMAP "res/header.bmp"
|
||||
|
||||
#include <reactos/manifest_exe.rc>
|
||||
|
||||
/* UTF-8 */
|
||||
#pragma code_page(65001)
|
||||
|
||||
#ifdef LANGUAGE_BG_BG
|
||||
#include "lang/bg-BG.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_CS_CZ
|
||||
#include "lang/cs-CZ.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_DE_DE
|
||||
#include "lang/de-DE.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_EL_GR
|
||||
#include "lang/el-GR.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_EN_US
|
||||
#include "lang/en-US.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_ES_ES
|
||||
#include "lang/es-ES.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_ET_EE
|
||||
#include "lang/et-EE.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_FI_FI
|
||||
#include "lang/fi-FI.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_FR_FR
|
||||
#include "lang/fr-FR.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_HE_IL
|
||||
#include "lang/he-IL.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_HU_HU
|
||||
#include "lang/hu-HU.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_IT_IT
|
||||
#include "lang/it-IT.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_JA_JP
|
||||
#include "lang/ja-JP.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_MS_MY
|
||||
#include "lang/ms-MY.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_NB_NO
|
||||
#include "lang/no-NO.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_PL_PL
|
||||
#include "lang/pl-PL.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_PT_BR
|
||||
#include "lang/pt-BR.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_RO_RO
|
||||
#include "lang/ro-RO.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_RU_RU
|
||||
#include "lang/ru-RU.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_SK_SK
|
||||
#include "lang/sk-SK.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_SQ_AL
|
||||
#include "lang/sq-AL.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_TR_TR
|
||||
#include "lang/tr-TR.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_UK_UA
|
||||
#include "lang/uk-UA.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_ZH_CN
|
||||
#include "lang/zh-CN.rc"
|
||||
#endif
|
||||
#ifdef LANGUAGE_ZH_TW
|
||||
#include "lang/zh-TW.rc"
|
||||
#endif
|
BIN
base/setup/reactos/res/header.bmp
Normal file
BIN
base/setup/reactos/res/header.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.1 KiB |
BIN
base/setup/reactos/res/setup.ico
Normal file
BIN
base/setup/reactos/res/setup.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
BIN
base/setup/reactos/res/watermark.bmp
Normal file
BIN
base/setup/reactos/res/watermark.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 65 KiB |
82
base/setup/reactos/resource.h
Normal file
82
base/setup/reactos/resource.h
Normal file
|
@ -0,0 +1,82 @@
|
|||
#pragma once
|
||||
|
||||
/* Bitmaps */
|
||||
#define IDB_WATERMARK 100
|
||||
#define IDB_HEADER 101
|
||||
|
||||
/* Icons */
|
||||
#define IDI_MAIN 3000
|
||||
|
||||
|
||||
#define IDC_STATIC -1
|
||||
|
||||
/* Dialogs */
|
||||
#define IDD_STARTPAGE 2000
|
||||
#define IDC_STARTTITLE 2001
|
||||
|
||||
#define IDD_TYPEPAGE 2005
|
||||
#define IDC_INSTALL 2006
|
||||
#define IDC_INSTALLTEXT 2007
|
||||
#define IDC_UPDATE 2008
|
||||
#define IDC_UPDATETEXT 2009
|
||||
|
||||
#define IDD_DEVICEPAGE 2011
|
||||
#define IDC_COMPUTER 2014
|
||||
#define IDC_DISPLAY 2015
|
||||
#define IDC_KEYBOARD 2016
|
||||
#define IDC_KEYLAYOUT 2017
|
||||
|
||||
#define IDD_DRIVEPAGE 2018
|
||||
#define IDC_PARTITION 2021
|
||||
#define IDC_PARTCREATE 2022
|
||||
#define IDC_PARTDELETE 2023
|
||||
#define IDC_INSTFREELDR 2024
|
||||
#define IDC_INSTVBRONLY 2025
|
||||
#define IDC_NOINSTFREELDR 2026
|
||||
#define IDC_PATH 2027
|
||||
|
||||
#define IDD_PROCESSPAGE 2028
|
||||
#define IDC_ACTIVITY 2031
|
||||
#define IDC_ITEM 2032
|
||||
#define IDC_PROCESSPROGRESS 2033
|
||||
|
||||
#define IDD_RESTARTPAGE 2034
|
||||
#define IDC_RESTART_PROGRESS 2038
|
||||
#define IDC_PARTMOREOPTS 2042
|
||||
|
||||
#define IDD_BOOTOPTIONS 2043
|
||||
|
||||
#define IDD_PARTITION 2044
|
||||
#define IDC_UPDOWN1 2045
|
||||
#define IDC_PARTSIZE 2046
|
||||
#define IDC_UNIT 2047
|
||||
#define IDC_FSTYPE 2048
|
||||
|
||||
#define IDD_SUMMARYPAGE 2049
|
||||
#define IDC_DEVICEDRIVER 2052
|
||||
|
||||
/* Strings */
|
||||
#define IDS_TYPETITLE 5007
|
||||
#define IDS_TYPESUBTITLE 5008
|
||||
#define IDS_DEVICETITLE 5012
|
||||
#define IDS_DEVICESUBTITLE 5013
|
||||
#define IDS_DRIVETITLE 5019
|
||||
#define IDS_DRIVESUBTITLE 5020
|
||||
#define IDS_PROCESSTITLE 5029
|
||||
#define IDS_PROCESSSUBTITLE 5030
|
||||
#define IDS_RESTARTTITLE 5035
|
||||
#define IDS_RESTARTSUBTITLE 5036
|
||||
#define IDS_ABORTSETUP 5039
|
||||
#define IDS_ABORTSETUP2 5040
|
||||
#define IDS_SUMMARYTITLE 5050
|
||||
#define IDS_SUMMARYSUBTITLE 5051
|
||||
#define IDS_NO_TXTSETUP_SIF 5053
|
||||
#define IDS_CAPTION 5054
|
||||
|
||||
|
||||
#define IDS_PARTITION_NAME 5200
|
||||
#define IDS_PARTITION_SIZE 5201
|
||||
#define IDS_PARTITION_TYPE 5202
|
||||
|
||||
#define IDS_LIST_COLUMN_FIRST IDS_PARTITION_NAME
|
||||
#define IDS_LIST_COLUMN_LAST IDS_PARTITION_TYPE
|
5
base/setup/setup/CMakeLists.txt
Normal file
5
base/setup/setup/CMakeLists.txt
Normal file
|
@ -0,0 +1,5 @@
|
|||
|
||||
add_executable(setup setup.c setup.rc)
|
||||
set_module_type(setup win32gui UNICODE ENTRYPOINT wmainCRTStartup)
|
||||
add_importlibs(setup userenv msvcrt kernel32 ntdll)
|
||||
add_cd_file(TARGET setup DESTINATION reactos/system32 FOR all)
|
85
base/setup/setup/setup.c
Normal file
85
base/setup/setup/setup.c
Normal file
|
@ -0,0 +1,85 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS GUI/console setup
|
||||
* FILE: base/setup/setup/setup.c
|
||||
* PURPOSE: Second stage setup
|
||||
* PROGRAMMER: Eric Kohl
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <windef.h>
|
||||
#include <winbase.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
typedef INT (WINAPI *PINSTALL_REACTOS)(INT argc, WCHAR** argv);
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
static
|
||||
INT
|
||||
RunInstallReactOS(INT argc, WCHAR* argv[])
|
||||
{
|
||||
INT RetVal;
|
||||
HMODULE hDll;
|
||||
PINSTALL_REACTOS InstallReactOS;
|
||||
|
||||
hDll = LoadLibraryW(L"syssetup.dll");
|
||||
if (hDll == NULL)
|
||||
{
|
||||
DPRINT("Failed to load 'syssetup.dll'!\n");
|
||||
return GetLastError();
|
||||
}
|
||||
DPRINT("Loaded 'syssetup.dll'!\n");
|
||||
|
||||
/* Call the standard Windows-compatible export */
|
||||
InstallReactOS = (PINSTALL_REACTOS)GetProcAddress(hDll, "InstallWindowsNt");
|
||||
if (InstallReactOS == NULL)
|
||||
{
|
||||
RetVal = GetLastError();
|
||||
DPRINT("Failed to get address for 'InstallWindowsNt()'!\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
RetVal = InstallReactOS(argc, argv);
|
||||
}
|
||||
|
||||
FreeLibrary(hDll);
|
||||
return RetVal;
|
||||
}
|
||||
|
||||
|
||||
/* Called from wmainCRTStartup */
|
||||
INT wmain(INT argc, WCHAR* argv[])
|
||||
{
|
||||
LPWSTR CmdLine, p;
|
||||
|
||||
// NOTE: Temporary, until we correctly use argc/argv.
|
||||
CmdLine = GetCommandLineW();
|
||||
DPRINT("CmdLine: <%S>\n", CmdLine);
|
||||
|
||||
p = wcschr(CmdLine, L'-');
|
||||
if (p == NULL)
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
p++;
|
||||
|
||||
// NOTE: On Windows, "mini" means "minimal UI", and can be used
|
||||
// in addition to "newsetup"; these options are not exclusive.
|
||||
if (_wcsicmp(p, L"newsetup") == 0 || _wcsicmp(p, L"mini") == 0)
|
||||
{
|
||||
RunInstallReactOS(argc, argv);
|
||||
}
|
||||
|
||||
#if 0
|
||||
/* Add new setup types here */
|
||||
else if (...)
|
||||
{
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* EOF */
|
4
base/setup/setup/setup.rc
Normal file
4
base/setup/setup/setup.rc
Normal file
|
@ -0,0 +1,4 @@
|
|||
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Setup"
|
||||
#define REACTOS_STR_INTERNAL_NAME "setup"
|
||||
#define REACTOS_STR_ORIGINAL_FILENAME "setup.exe"
|
||||
#include <reactos/version.rc>
|
47
base/setup/usetup/CMakeLists.txt
Normal file
47
base/setup/usetup/CMakeLists.txt
Normal file
|
@ -0,0 +1,47 @@
|
|||
|
||||
add_definitions(${I18N_DEFS})
|
||||
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${REACTOS_SOURCE_DIR}/sdk/lib/inflib
|
||||
${REACTOS_SOURCE_DIR}/sdk/include/reactos/libs/zlib
|
||||
${REACTOS_SOURCE_DIR}/sdk/include/reactos/drivers)
|
||||
|
||||
list(APPEND SOURCE
|
||||
interface/usetup.c
|
||||
interface/devinst.c
|
||||
interface/consup.c
|
||||
native/utils/keytrans.c
|
||||
native/utils/console.c
|
||||
native/fslist.c
|
||||
native/console.c
|
||||
bootsup.c
|
||||
cabinet.c
|
||||
chkdsk.c
|
||||
cmdcons.c
|
||||
drivesup.c
|
||||
filesup.c
|
||||
filequeue.c
|
||||
format.c
|
||||
fslist.c
|
||||
genlist.c
|
||||
inffile.c
|
||||
inicache.c
|
||||
mui.c
|
||||
partlist.c
|
||||
progress.c
|
||||
registry.c
|
||||
settings.c
|
||||
usetup.h)
|
||||
|
||||
if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
||||
#FIXME: Investigate Clang "illegal character encoding in string literal" warning
|
||||
set_property(SOURCE mui.c APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-invalid-source-encoding")
|
||||
endif()
|
||||
|
||||
add_executable(usetup ${SOURCE} usetup.rc)
|
||||
target_link_libraries(usetup zlib inflib ext2lib vfatlib)
|
||||
set_module_type(usetup nativecui)
|
||||
add_importlibs(usetup ntdll)
|
||||
add_pch(usetup usetup.h SOURCE)
|
||||
add_cd_file(TARGET usetup DESTINATION reactos/system32 NO_CAB NAME_ON_CD smss.exe FOR bootcd regtest)
|
2736
base/setup/usetup/bootsup.c
Normal file
2736
base/setup/usetup/bootsup.c
Normal file
File diff suppressed because it is too large
Load diff
55
base/setup/usetup/bootsup.h
Normal file
55
base/setup/usetup/bootsup.h
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2002 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/bootsup.h
|
||||
* PURPOSE: Bootloader support functions
|
||||
* PROGRAMMER: Eric Kohl
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
BOOLEAN
|
||||
IsThereAValidBootSector(PWSTR RootPath);
|
||||
|
||||
NTSTATUS
|
||||
SaveBootSector(
|
||||
PWSTR RootPath,
|
||||
PWSTR DstPath,
|
||||
ULONG Length);
|
||||
|
||||
NTSTATUS
|
||||
InstallMbrBootCodeToDisk(
|
||||
PWSTR SrcPath,
|
||||
PWSTR RootPath);
|
||||
|
||||
NTSTATUS
|
||||
InstallVBRToPartition(
|
||||
PUNICODE_STRING SystemRootPath,
|
||||
PUNICODE_STRING SourceRootPath,
|
||||
PUNICODE_STRING DestinationArcPath,
|
||||
UCHAR PartitionType);
|
||||
|
||||
NTSTATUS
|
||||
InstallFatBootcodeToFloppy(
|
||||
PUNICODE_STRING SourceRootPath,
|
||||
PUNICODE_STRING DestinationArcPath);
|
||||
|
||||
/* EOF */
|
1199
base/setup/usetup/cabinet.c
Normal file
1199
base/setup/usetup/cabinet.c
Normal file
File diff suppressed because it is too large
Load diff
209
base/setup/usetup/cabinet.h
Normal file
209
base/setup/usetup/cabinet.h
Normal file
|
@ -0,0 +1,209 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS cabinet manager
|
||||
* FILE: base/setup/usetup/cabinet.h
|
||||
* PURPOSE: Cabinet definitions
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <string.h>
|
||||
|
||||
/* Cabinet constants */
|
||||
|
||||
#define CAB_SIGNATURE 0x4643534D // "MSCF"
|
||||
#define CAB_VERSION 0x0103
|
||||
#define CAB_BLOCKSIZE 32768
|
||||
|
||||
#define CAB_COMP_MASK 0x00FF
|
||||
#define CAB_COMP_NONE 0x0000
|
||||
#define CAB_COMP_MSZIP 0x0001
|
||||
#define CAB_COMP_QUANTUM 0x0002
|
||||
#define CAB_COMP_LZX 0x0003
|
||||
|
||||
#define CAB_FLAG_HASPREV 0x0001
|
||||
#define CAB_FLAG_HASNEXT 0x0002
|
||||
#define CAB_FLAG_RESERVE 0x0004
|
||||
|
||||
#define CAB_ATTRIB_READONLY 0x0001
|
||||
#define CAB_ATTRIB_HIDDEN 0x0002
|
||||
#define CAB_ATTRIB_SYSTEM 0x0004
|
||||
#define CAB_ATTRIB_VOLUME 0x0008
|
||||
#define CAB_ATTRIB_DIRECTORY 0x0010
|
||||
#define CAB_ATTRIB_ARCHIVE 0x0020
|
||||
#define CAB_ATTRIB_EXECUTE 0x0040
|
||||
#define CAB_ATTRIB_UTF_NAME 0x0080
|
||||
|
||||
#define CAB_FILE_MAX_FOLDER 0xFFFC
|
||||
#define CAB_FILE_CONTINUED 0xFFFD
|
||||
#define CAB_FILE_SPLIT 0xFFFE
|
||||
#define CAB_FILE_PREV_NEXT 0xFFFF
|
||||
|
||||
|
||||
/* Cabinet structures */
|
||||
|
||||
typedef struct _CFHEADER
|
||||
{
|
||||
ULONG Signature; // File signature 'MSCF' (CAB_SIGNATURE)
|
||||
ULONG Reserved1; // Reserved field
|
||||
ULONG CabinetSize; // Cabinet file size
|
||||
ULONG Reserved2; // Reserved field
|
||||
ULONG FileTableOffset; // Offset of first CFFILE
|
||||
ULONG Reserved3; // Reserved field
|
||||
WORD Version; // Cabinet version (CAB_VERSION)
|
||||
WORD FolderCount; // Number of folders
|
||||
WORD FileCount; // Number of files
|
||||
WORD Flags; // Cabinet flags (CAB_FLAG_*)
|
||||
WORD SetID; // Cabinet set id
|
||||
WORD CabinetNumber; // Zero-based cabinet number
|
||||
/* Optional fields (depends on Flags)
|
||||
WORD CabinetResSize // Per-cabinet reserved area size
|
||||
CHAR FolderResSize // Per-folder reserved area size
|
||||
CHAR FileResSize // Per-file reserved area size
|
||||
CHAR CabinetReserved[] // Per-cabinet reserved area
|
||||
CHAR CabinetPrev[] // Name of previous cabinet file
|
||||
CHAR DiskPrev[] // Name of previous disk
|
||||
CHAR CabinetNext[] // Name of next cabinet file
|
||||
CHAR DiskNext[] // Name of next disk
|
||||
*/
|
||||
} CFHEADER, *PCFHEADER;
|
||||
|
||||
|
||||
typedef struct _CFFOLDER
|
||||
{
|
||||
ULONG DataOffset; // Absolute offset of first CFDATA block in this folder
|
||||
WORD DataBlockCount; // Number of CFDATA blocks in this folder in this cabinet
|
||||
WORD CompressionType; // Type of compression used for all CFDATA blocks in this folder
|
||||
/* Optional fields (depends on Flags)
|
||||
CHAR FolderReserved[] // Per-folder reserved area
|
||||
*/
|
||||
} CFFOLDER, *PCFFOLDER;
|
||||
|
||||
|
||||
typedef struct _CFFILE
|
||||
{
|
||||
ULONG FileSize; // Uncompressed file size in bytes
|
||||
ULONG FileOffset; // Uncompressed offset of file in the folder
|
||||
WORD FolderIndex; // Index number of the folder that contains this file
|
||||
WORD FileDate; // File date stamp, as used by DOS
|
||||
WORD FileTime; // File time stamp, as used by DOS
|
||||
WORD Attributes; // File attributes (CAB_ATTRIB_*)
|
||||
CHAR FileName[ANYSIZE_ARRAY];
|
||||
/* After this is the NULL terminated filename */
|
||||
} CFFILE, *PCFFILE;
|
||||
|
||||
|
||||
typedef struct _CFDATA
|
||||
{
|
||||
ULONG Checksum; // Checksum of CFDATA entry
|
||||
WORD CompSize; // Number of compressed bytes in this block
|
||||
WORD UncompSize; // Number of uncompressed bytes in this block
|
||||
/* Optional fields (depends on Flags)
|
||||
CHAR DataReserved[] // Per-datablock reserved area
|
||||
*/
|
||||
} CFDATA, *PCFDATA;
|
||||
|
||||
typedef struct _CAB_SEARCH
|
||||
{
|
||||
WCHAR Search[MAX_PATH]; // Search criteria
|
||||
WCHAR Cabinet[MAX_PATH];
|
||||
USHORT Index;
|
||||
PCFFILE File; // Pointer to current CFFILE
|
||||
PCFDATA CFData;
|
||||
ULONG Offset;
|
||||
} CAB_SEARCH, *PCAB_SEARCH;
|
||||
|
||||
|
||||
/* Constants */
|
||||
|
||||
/* Status codes */
|
||||
#define CAB_STATUS_SUCCESS 0x00000000
|
||||
#define CAB_STATUS_FAILURE 0x00000001
|
||||
#define CAB_STATUS_NOMEMORY 0x00000002
|
||||
#define CAB_STATUS_CANNOT_OPEN 0x00000003
|
||||
#define CAB_STATUS_CANNOT_CREATE 0x00000004
|
||||
#define CAB_STATUS_CANNOT_READ 0x00000005
|
||||
#define CAB_STATUS_CANNOT_WRITE 0x00000006
|
||||
#define CAB_STATUS_FILE_EXISTS 0x00000007
|
||||
#define CAB_STATUS_INVALID_CAB 0x00000008
|
||||
#define CAB_STATUS_NOFILE 0x00000009
|
||||
#define CAB_STATUS_UNSUPPCOMP 0x0000000A
|
||||
|
||||
|
||||
/* Codecs */
|
||||
|
||||
/* Uncompresses a data block */
|
||||
typedef ULONG (*PCABINET_CODEC_UNCOMPRESS)(PVOID OutputBuffer,
|
||||
PVOID InputBuffer,
|
||||
PLONG InputLength,
|
||||
PLONG OutputLength);
|
||||
|
||||
|
||||
/* Codec status codes */
|
||||
#define CS_SUCCESS 0x0000 /* All data consumed */
|
||||
#define CS_NOMEMORY 0x0001 /* Not enough free memory */
|
||||
#define CS_BADSTREAM 0x0002 /* Bad data stream */
|
||||
|
||||
/* Codec identifiers */
|
||||
#define CAB_CODEC_RAW 0x00
|
||||
#define CAB_CODEC_LZX 0x01
|
||||
#define CAB_CODEC_MSZIP 0x02
|
||||
|
||||
#define MSZIP_MAGIC 0x4B43
|
||||
|
||||
|
||||
|
||||
/* Event handler prototypes */
|
||||
|
||||
typedef BOOL (*PCABINET_OVERWRITE)(PCFFILE File,
|
||||
PWCHAR FileName);
|
||||
|
||||
typedef VOID (*PCABINET_EXTRACT)(PCFFILE File,
|
||||
PWCHAR FileName);
|
||||
|
||||
typedef VOID (*PCABINET_DISK_CHANGE)(PWCHAR CabinetName,
|
||||
PWCHAR DiskLabel);
|
||||
|
||||
|
||||
|
||||
/* Classes */
|
||||
|
||||
/* Default constructor */
|
||||
VOID CabinetInitialize(VOID);
|
||||
/* Default destructor */
|
||||
VOID CabinetCleanup(VOID);
|
||||
/* Returns a pointer to the filename part of a fully qualified filename */
|
||||
PWCHAR CabinetGetFileName(PWCHAR Path);
|
||||
/* Removes a filename from a fully qualified filename */
|
||||
VOID CabinetRemoveFileName(PWCHAR Path);
|
||||
/* Normalizes a path */
|
||||
BOOL CabinetNormalizePath(PWCHAR Path, ULONG Length);
|
||||
/* Returns name of cabinet file */
|
||||
PWCHAR CabinetGetCabinetName(VOID);
|
||||
/* Sets the name of the cabinet file */
|
||||
VOID CabinetSetCabinetName(PWCHAR FileName);
|
||||
/* Sets destination path for extracted files */
|
||||
VOID CabinetSetDestinationPath(PWCHAR DestinationPath);
|
||||
/* Returns destination path */
|
||||
PWCHAR CabinetGetDestinationPath(VOID);
|
||||
/* Returns zero-based current disk number */
|
||||
ULONG CabinetGetCurrentDiskNumber(VOID);
|
||||
/* Opens the current cabinet file */
|
||||
ULONG CabinetOpen(VOID);
|
||||
/* Closes the current open cabinet file */
|
||||
VOID CabinetClose(VOID);
|
||||
/* Locates the first file in the current cabinet file that matches a search criteria */
|
||||
ULONG CabinetFindFirst(PWCHAR FileName, PCAB_SEARCH Search);
|
||||
/* Locates the next file that matches the current search criteria */
|
||||
ULONG CabinetFindNext(PCAB_SEARCH Search);
|
||||
/* Locates the next file in the current cabinet file sequentially */
|
||||
ULONG CabinetFindNextFileSequential(PWCHAR FileName, PCAB_SEARCH Search);
|
||||
/* Extracts a file from the current cabinet file */
|
||||
ULONG CabinetExtractFile(PCAB_SEARCH Search);
|
||||
/* Select codec engine to use */
|
||||
VOID CabinetSelectCodec(ULONG Id);
|
||||
/* Set event handlers */
|
||||
VOID CabinetSetEventHandlers(PCABINET_OVERWRITE Overwrite,
|
||||
PCABINET_EXTRACT Extract,
|
||||
PCABINET_DISK_CHANGE DiskChange);
|
||||
/* Get pointer to cabinet reserved area. NULL if none */
|
||||
PVOID CabinetGetCabinetReservedArea(PULONG Size);
|
92
base/setup/usetup/chkdsk.c
Normal file
92
base/setup/usetup/chkdsk.c
Normal file
|
@ -0,0 +1,92 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2006 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/chkdsk.c
|
||||
* PURPOSE: Filesystem chkdsk support functions
|
||||
* PROGRAMMER: Hervé Poussineau (hpoussin@reactos.org)
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include "usetup.h"
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
static PPROGRESSBAR ChkdskProgressBar = NULL;
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
static
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
ChkdskCallback(
|
||||
IN CALLBACKCOMMAND Command,
|
||||
IN ULONG Modifier,
|
||||
IN PVOID Argument)
|
||||
{
|
||||
switch (Command)
|
||||
{
|
||||
default:
|
||||
DPRINT("Unknown callback %lu\n", (ULONG)Command);
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
ChkdskPartition(
|
||||
IN PUNICODE_STRING DriveRoot,
|
||||
IN PFILE_SYSTEM_ITEM FileSystem)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
if (!FileSystem->ChkdskFunc)
|
||||
return STATUS_NOT_SUPPORTED;
|
||||
|
||||
ChkdskProgressBar = CreateProgressBar(6,
|
||||
yScreen - 14,
|
||||
xScreen - 7,
|
||||
yScreen - 10,
|
||||
10,
|
||||
24,
|
||||
TRUE,
|
||||
MUIGetString(STRING_CHECKINGDISK));
|
||||
|
||||
ProgressSetStepCount(ChkdskProgressBar, 100);
|
||||
|
||||
Status = FileSystem->ChkdskFunc(DriveRoot,
|
||||
TRUE, /* FixErrors */
|
||||
FALSE, /* Verbose */
|
||||
FALSE, /* CheckOnlyIfDirty */
|
||||
FALSE, /* ScanDrive */
|
||||
ChkdskCallback); /* Callback */
|
||||
|
||||
DestroyProgressBar(ChkdskProgressBar);
|
||||
ChkdskProgressBar = NULL;
|
||||
|
||||
DPRINT("ChkdskPartition() finished with status 0x%08lx\n", Status);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
/* EOF */
|
33
base/setup/usetup/chkdsk.h
Normal file
33
base/setup/usetup/chkdsk.h
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2006 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/chkdsk.h
|
||||
* PURPOSE: Filesystem chkdsk support functions
|
||||
* PROGRAMMER: Hervé Poussineau (hpoussin@reactos.org)
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
NTSTATUS
|
||||
ChkdskPartition(
|
||||
IN PUNICODE_STRING DriveRoot,
|
||||
IN PFILE_SYSTEM_ITEM FileSystem);
|
||||
|
||||
/* EOF */
|
1198
base/setup/usetup/cmdcons.c
Normal file
1198
base/setup/usetup/cmdcons.c
Normal file
File diff suppressed because it is too large
Load diff
12
base/setup/usetup/cmdcons.h
Normal file
12
base/setup/usetup/cmdcons.h
Normal file
|
@ -0,0 +1,12 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/cmdcons.h
|
||||
* PURPOSE: Recovery console
|
||||
* PROGRAMMER: Eric Kohl
|
||||
*/
|
||||
|
||||
VOID
|
||||
RecoveryConsole(VOID);
|
||||
|
||||
/* EOF */
|
99
base/setup/usetup/drivesup.c
Normal file
99
base/setup/usetup/drivesup.c
Normal file
|
@ -0,0 +1,99 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2002 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/drivesup.c
|
||||
* PURPOSE: Drive support functions
|
||||
* PROGRAMMER: Eric Kohl
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include "usetup.h"
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
NTSTATUS
|
||||
GetSourcePaths(
|
||||
PUNICODE_STRING SourcePath,
|
||||
PUNICODE_STRING SourceRootPath,
|
||||
PUNICODE_STRING SourceRootDir)
|
||||
{
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
UNICODE_STRING LinkName;
|
||||
UNICODE_STRING SourceName;
|
||||
WCHAR SourceBuffer[MAX_PATH] = {L'\0'};
|
||||
HANDLE Handle;
|
||||
NTSTATUS Status;
|
||||
ULONG Length;
|
||||
PWCHAR Ptr;
|
||||
|
||||
RtlInitUnicodeString(&LinkName,
|
||||
L"\\SystemRoot");
|
||||
|
||||
InitializeObjectAttributes(&ObjectAttributes,
|
||||
&LinkName,
|
||||
OBJ_CASE_INSENSITIVE,
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
Status = NtOpenSymbolicLinkObject(&Handle,
|
||||
SYMBOLIC_LINK_ALL_ACCESS,
|
||||
&ObjectAttributes);
|
||||
if (!NT_SUCCESS(Status))
|
||||
return Status;
|
||||
|
||||
SourceName.Length = 0;
|
||||
SourceName.MaximumLength = MAX_PATH * sizeof(WCHAR);
|
||||
SourceName.Buffer = SourceBuffer;
|
||||
|
||||
Status = NtQuerySymbolicLinkObject(Handle,
|
||||
&SourceName,
|
||||
&Length);
|
||||
NtClose(Handle);
|
||||
|
||||
if (NT_SUCCESS(Status))
|
||||
{
|
||||
RtlCreateUnicodeString(SourcePath,
|
||||
SourceName.Buffer);
|
||||
|
||||
/* strip trailing directory */
|
||||
Ptr = wcsrchr(SourceName.Buffer, L'\\');
|
||||
if (Ptr)
|
||||
{
|
||||
RtlCreateUnicodeString(SourceRootDir, Ptr);
|
||||
*Ptr = 0;
|
||||
}
|
||||
else
|
||||
RtlCreateUnicodeString(SourceRootDir, L"");
|
||||
|
||||
RtlCreateUnicodeString(SourceRootPath,
|
||||
SourceName.Buffer);
|
||||
}
|
||||
|
||||
NtClose(Handle);
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/* EOF */
|
35
base/setup/usetup/drivesup.h
Normal file
35
base/setup/usetup/drivesup.h
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2002 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/drivesup.h
|
||||
* PURPOSE: Drive support functions
|
||||
* PROGRAMMER: Eric Kohl
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
NTSTATUS
|
||||
GetSourcePaths(
|
||||
PUNICODE_STRING SourcePath,
|
||||
PUNICODE_STRING SourceRootPath,
|
||||
PUNICODE_STRING SourceRootDir);
|
||||
|
||||
/* EOF */
|
78
base/setup/usetup/errorcode.h
Normal file
78
base/setup/usetup/errorcode.h
Normal file
|
@ -0,0 +1,78 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2003 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/errorcode.h
|
||||
* PURPOSE:
|
||||
* PROGRAMMER:
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
typedef enum
|
||||
{
|
||||
NOT_AN_ERROR = 0,
|
||||
ERROR_NOT_INSTALLED,
|
||||
ERROR_NO_HDD,
|
||||
ERROR_NO_SOURCE_DRIVE,
|
||||
ERROR_LOAD_TXTSETUPSIF,
|
||||
ERROR_CORRUPT_TXTSETUPSIF,
|
||||
ERROR_SIGNATURE_TXTSETUPSIF,
|
||||
ERROR_DRIVE_INFORMATION,
|
||||
ERROR_WRITE_BOOT,
|
||||
ERROR_LOAD_COMPUTER,
|
||||
ERROR_LOAD_DISPLAY,
|
||||
ERROR_LOAD_KEYBOARD,
|
||||
ERROR_LOAD_KBLAYOUT,
|
||||
ERROR_WARN_PARTITION,
|
||||
ERROR_NEW_PARTITION,
|
||||
ERROR_DELETE_SPACE,
|
||||
ERROR_INSTALL_BOOTCODE,
|
||||
ERROR_NO_FLOPPY,
|
||||
ERROR_UPDATE_KBSETTINGS,
|
||||
ERROR_UPDATE_DISPLAY_SETTINGS,
|
||||
ERROR_IMPORT_HIVE,
|
||||
ERROR_FIND_REGISTRY,
|
||||
ERROR_CREATE_HIVE,
|
||||
ERROR_INITIALIZE_REGISTRY,
|
||||
ERROR_INVALID_CABINET_INF,
|
||||
ERROR_CABINET_MISSING,
|
||||
ERROR_CABINET_SCRIPT,
|
||||
ERROR_COPY_QUEUE,
|
||||
ERROR_CREATE_DIR,
|
||||
ERROR_TXTSETUP_SECTION,
|
||||
ERROR_CABINET_SECTION,
|
||||
ERROR_CREATE_INSTALL_DIR,
|
||||
ERROR_FIND_SETUPDATA,
|
||||
ERROR_WRITE_PTABLE,
|
||||
ERROR_ADDING_CODEPAGE,
|
||||
ERROR_UPDATE_LOCALESETTINGS,
|
||||
ERROR_ADDING_KBLAYOUTS,
|
||||
ERROR_UPDATE_GEOID,
|
||||
ERROR_DIRECTORY_NAME,
|
||||
ERROR_INSUFFICIENT_PARTITION_SIZE,
|
||||
ERROR_PARTITION_TABLE_FULL,
|
||||
ERROR_ONLY_ONE_EXTENDED,
|
||||
ERROR_FORMATTING_PARTITION,
|
||||
|
||||
ERROR_LAST_ERROR_CODE
|
||||
} ERROR_NUMBER;
|
||||
|
||||
/* EOF */
|
482
base/setup/usetup/filequeue.c
Normal file
482
base/setup/usetup/filequeue.c
Normal file
|
@ -0,0 +1,482 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2002 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/filequeue.c
|
||||
* PURPOSE: File queue functions
|
||||
* PROGRAMMER: Eric Kohl
|
||||
* Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include "usetup.h"
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
typedef struct _QUEUEENTRY
|
||||
{
|
||||
struct _QUEUEENTRY *Prev;
|
||||
struct _QUEUEENTRY *Next;
|
||||
|
||||
PWSTR SourceCabinet; /* May be NULL if the file is not in a cabinet */
|
||||
PWSTR SourceRootPath;
|
||||
PWSTR SourcePath;
|
||||
PWSTR SourceFilename;
|
||||
PWSTR TargetDirectory;
|
||||
PWSTR TargetFilename;
|
||||
} QUEUEENTRY, *PQUEUEENTRY;
|
||||
|
||||
|
||||
typedef struct _FILEQUEUEHEADER
|
||||
{
|
||||
PQUEUEENTRY CopyHead;
|
||||
PQUEUEENTRY CopyTail;
|
||||
ULONG CopyCount;
|
||||
} FILEQUEUEHEADER, *PFILEQUEUEHEADER;
|
||||
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
HSPFILEQ
|
||||
WINAPI
|
||||
SetupOpenFileQueue(VOID)
|
||||
{
|
||||
PFILEQUEUEHEADER QueueHeader;
|
||||
|
||||
/* Allocate queue header */
|
||||
QueueHeader = (PFILEQUEUEHEADER)RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
sizeof(FILEQUEUEHEADER));
|
||||
if (QueueHeader == NULL)
|
||||
return NULL;
|
||||
|
||||
/* Initialize queue header */
|
||||
RtlZeroMemory(QueueHeader,
|
||||
sizeof(FILEQUEUEHEADER));
|
||||
|
||||
return (HSPFILEQ)QueueHeader;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
WINAPI
|
||||
SetupCloseFileQueue(
|
||||
HSPFILEQ QueueHandle)
|
||||
{
|
||||
PFILEQUEUEHEADER QueueHeader;
|
||||
PQUEUEENTRY Entry;
|
||||
|
||||
if (QueueHandle == NULL)
|
||||
return;
|
||||
|
||||
QueueHeader = (PFILEQUEUEHEADER)QueueHandle;
|
||||
|
||||
/* Delete copy queue */
|
||||
Entry = QueueHeader->CopyHead;
|
||||
while (Entry != NULL)
|
||||
{
|
||||
/* Delete all strings */
|
||||
if (Entry->SourceCabinet != NULL)
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet);
|
||||
|
||||
if (Entry->SourceRootPath != NULL)
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourceRootPath);
|
||||
|
||||
if (Entry->SourcePath != NULL)
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourcePath);
|
||||
|
||||
if (Entry->SourceFilename != NULL)
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourceFilename);
|
||||
|
||||
if (Entry->TargetDirectory != NULL)
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->TargetDirectory);
|
||||
|
||||
if (Entry->TargetFilename != NULL)
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->TargetFilename);
|
||||
|
||||
/* Unlink current queue entry */
|
||||
if (Entry->Next != NULL)
|
||||
{
|
||||
QueueHeader->CopyHead = Entry->Next;
|
||||
QueueHeader->CopyHead->Prev = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
QueueHeader->CopyHead = NULL;
|
||||
QueueHeader->CopyTail = NULL;
|
||||
}
|
||||
|
||||
/* Delete queue entry */
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry);
|
||||
|
||||
/* Get next queue entry */
|
||||
Entry = QueueHeader->CopyHead;
|
||||
}
|
||||
|
||||
/* Delete queue header */
|
||||
RtlFreeHeap(ProcessHeap, 0, QueueHeader);
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
SetupQueueCopy(
|
||||
HSPFILEQ QueueHandle,
|
||||
PCWSTR SourceCabinet,
|
||||
PCWSTR SourceRootPath,
|
||||
PCWSTR SourcePath,
|
||||
PCWSTR SourceFilename,
|
||||
PCWSTR TargetDirectory,
|
||||
PCWSTR TargetFilename)
|
||||
{
|
||||
PFILEQUEUEHEADER QueueHeader;
|
||||
PQUEUEENTRY Entry;
|
||||
ULONG Length;
|
||||
|
||||
/* SourceCabinet may be NULL */
|
||||
if (QueueHandle == NULL ||
|
||||
SourceRootPath == NULL ||
|
||||
SourceFilename == NULL ||
|
||||
TargetDirectory == NULL)
|
||||
return FALSE;
|
||||
|
||||
QueueHeader = (PFILEQUEUEHEADER)QueueHandle;
|
||||
|
||||
/* Allocate new queue entry */
|
||||
Entry = (PQUEUEENTRY)RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
sizeof(QUEUEENTRY));
|
||||
if (Entry == NULL)
|
||||
return FALSE;
|
||||
|
||||
RtlZeroMemory(Entry,
|
||||
sizeof(QUEUEENTRY));
|
||||
|
||||
/* Copy source cabinet if available */
|
||||
if (SourceCabinet != NULL)
|
||||
{
|
||||
Length = wcslen(SourceCabinet);
|
||||
Entry->SourceCabinet = (WCHAR*)RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
(Length + 1) * sizeof(WCHAR));
|
||||
if (Entry->SourceCabinet == NULL)
|
||||
{
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
wcsncpy(Entry->SourceCabinet, SourceCabinet, Length);
|
||||
Entry->SourceCabinet[Length] = (WCHAR)0;
|
||||
}
|
||||
else
|
||||
{
|
||||
Entry->SourceCabinet = NULL;
|
||||
}
|
||||
|
||||
/* Copy source root path */
|
||||
Length = wcslen(SourceRootPath);
|
||||
Entry->SourceRootPath = (WCHAR*)RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
(Length + 1) * sizeof(WCHAR));
|
||||
if (Entry->SourceRootPath == NULL)
|
||||
{
|
||||
if (Entry->SourceCabinet != NULL)
|
||||
{
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet);
|
||||
}
|
||||
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
wcsncpy(Entry->SourceRootPath, SourceRootPath, Length);
|
||||
Entry->SourceRootPath[Length] = (WCHAR)0;
|
||||
|
||||
/* Copy source path */
|
||||
if (SourcePath != NULL)
|
||||
{
|
||||
Length = wcslen(SourcePath);
|
||||
if ((Length > 0) && (SourcePath[Length - 1] == L'\\'))
|
||||
Length--;
|
||||
Entry->SourcePath = (WCHAR*)RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
(Length + 1) * sizeof(WCHAR));
|
||||
if (Entry->SourcePath == NULL)
|
||||
{
|
||||
if (Entry->SourceCabinet != NULL)
|
||||
{
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet);
|
||||
}
|
||||
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourceRootPath);
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
wcsncpy(Entry->SourcePath, SourcePath, Length);
|
||||
Entry->SourcePath[Length] = (WCHAR)0;
|
||||
}
|
||||
|
||||
/* Copy source file name */
|
||||
Length = wcslen(SourceFilename);
|
||||
Entry->SourceFilename = (WCHAR*)RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
(Length + 1) * sizeof(WCHAR));
|
||||
if (Entry->SourceFilename == NULL)
|
||||
{
|
||||
if (Entry->SourceCabinet != NULL)
|
||||
{
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet);
|
||||
}
|
||||
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourceRootPath);
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourcePath);
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
wcsncpy(Entry->SourceFilename, SourceFilename, Length);
|
||||
Entry->SourceFilename[Length] = (WCHAR)0;
|
||||
|
||||
/* Copy target directory */
|
||||
Length = wcslen(TargetDirectory);
|
||||
if ((Length > 0) && (TargetDirectory[Length - 1] == L'\\'))
|
||||
Length--;
|
||||
Entry->TargetDirectory = (WCHAR*)RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
(Length + 1) * sizeof(WCHAR));
|
||||
if (Entry->TargetDirectory == NULL)
|
||||
{
|
||||
if (Entry->SourceCabinet != NULL)
|
||||
{
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet);
|
||||
}
|
||||
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourceRootPath);
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourcePath);
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourceFilename);
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
wcsncpy(Entry->TargetDirectory, TargetDirectory, Length);
|
||||
Entry->TargetDirectory[Length] = (WCHAR)0;
|
||||
|
||||
/* Copy optional target filename */
|
||||
if (TargetFilename != NULL)
|
||||
{
|
||||
Length = wcslen(TargetFilename);
|
||||
Entry->TargetFilename = (WCHAR*)RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
(Length + 1) * sizeof(WCHAR));
|
||||
if (Entry->TargetFilename == NULL)
|
||||
{
|
||||
if (Entry->SourceCabinet != NULL)
|
||||
{
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourceCabinet);
|
||||
}
|
||||
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourceRootPath);
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourcePath);
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->SourceFilename);
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry->TargetDirectory);
|
||||
RtlFreeHeap(ProcessHeap, 0, Entry);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
wcsncpy(Entry->TargetFilename, TargetFilename, Length);
|
||||
Entry->TargetFilename[Length] = (WCHAR)0;
|
||||
}
|
||||
|
||||
/* Append queue entry */
|
||||
if (QueueHeader->CopyHead == NULL) // && QueueHeader->CopyTail == NULL)
|
||||
{
|
||||
Entry->Prev = NULL;
|
||||
Entry->Next = NULL;
|
||||
QueueHeader->CopyHead = Entry;
|
||||
QueueHeader->CopyTail = Entry;
|
||||
}
|
||||
else
|
||||
{
|
||||
Entry->Prev = QueueHeader->CopyTail;
|
||||
Entry->Next = NULL;
|
||||
QueueHeader->CopyTail->Next = Entry;
|
||||
QueueHeader->CopyTail = Entry;
|
||||
}
|
||||
|
||||
QueueHeader->CopyCount++;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
SetupCommitFileQueueW(
|
||||
HWND Owner,
|
||||
HSPFILEQ QueueHandle,
|
||||
PSP_FILE_CALLBACK_W MsgHandler,
|
||||
PVOID Context)
|
||||
{
|
||||
WCHAR CabinetName[MAX_PATH];
|
||||
PFILEQUEUEHEADER QueueHeader;
|
||||
PQUEUEENTRY Entry;
|
||||
NTSTATUS Status;
|
||||
PCWSTR TargetRootPath, TargetPath;
|
||||
|
||||
WCHAR FileSrcPath[MAX_PATH];
|
||||
WCHAR FileDstPath[MAX_PATH];
|
||||
|
||||
TargetRootPath = ((PCOPYCONTEXT)Context)->DestinationRootPath;
|
||||
TargetPath = ((PCOPYCONTEXT)Context)->InstallPath;
|
||||
|
||||
if (QueueHandle == NULL)
|
||||
return FALSE;
|
||||
|
||||
QueueHeader = (PFILEQUEUEHEADER)QueueHandle;
|
||||
|
||||
MsgHandler(Context,
|
||||
SPFILENOTIFY_STARTQUEUE,
|
||||
0,
|
||||
0);
|
||||
|
||||
MsgHandler(Context,
|
||||
SPFILENOTIFY_STARTSUBQUEUE,
|
||||
FILEOP_COPY,
|
||||
QueueHeader->CopyCount);
|
||||
|
||||
/* Commit copy queue */
|
||||
Entry = QueueHeader->CopyHead;
|
||||
while (Entry != NULL)
|
||||
{
|
||||
/* Build the full source path */
|
||||
wcscpy(FileSrcPath, Entry->SourceRootPath);
|
||||
if (Entry->SourcePath != NULL)
|
||||
wcscat(FileSrcPath, Entry->SourcePath);
|
||||
wcscat(FileSrcPath, L"\\");
|
||||
wcscat(FileSrcPath, Entry->SourceFilename);
|
||||
|
||||
/* Build the full target path */
|
||||
wcscpy(FileDstPath, TargetRootPath);
|
||||
if (Entry->TargetDirectory[0] == 0)
|
||||
{
|
||||
/* Installation path */
|
||||
|
||||
/* Add the installation path */
|
||||
if (TargetPath != NULL)
|
||||
{
|
||||
if (TargetPath[0] != L'\\')
|
||||
wcscat(FileDstPath, L"\\");
|
||||
wcscat(FileDstPath, TargetPath);
|
||||
}
|
||||
}
|
||||
else if (Entry->TargetDirectory[0] == L'\\')
|
||||
{
|
||||
/* Absolute path */
|
||||
if (Entry->TargetDirectory[1] != 0)
|
||||
wcscat(FileDstPath, Entry->TargetDirectory);
|
||||
}
|
||||
else // if (Entry->TargetDirectory[0] != L'\\')
|
||||
{
|
||||
/* Path relative to the installation path */
|
||||
|
||||
/* Add the installation path */
|
||||
if (TargetPath != NULL)
|
||||
{
|
||||
if (TargetPath[0] != L'\\')
|
||||
wcscat(FileDstPath, L"\\");
|
||||
wcscat(FileDstPath, TargetPath);
|
||||
}
|
||||
|
||||
wcscat(FileDstPath, L"\\");
|
||||
wcscat(FileDstPath, Entry->TargetDirectory);
|
||||
}
|
||||
|
||||
/*
|
||||
* If the file is in a cabinet, use only the destination path.
|
||||
* Otherwise possibly use a different target name.
|
||||
*/
|
||||
if (Entry->SourceCabinet == NULL)
|
||||
{
|
||||
wcscat(FileDstPath, L"\\");
|
||||
if (Entry->TargetFilename != NULL)
|
||||
wcscat(FileDstPath, Entry->TargetFilename);
|
||||
else
|
||||
wcscat(FileDstPath, Entry->SourceFilename);
|
||||
}
|
||||
|
||||
/* FIXME: Do it! */
|
||||
DPRINT("Copy: '%S' ==> '%S'\n", FileSrcPath, FileDstPath);
|
||||
|
||||
MsgHandler(Context,
|
||||
SPFILENOTIFY_STARTCOPY,
|
||||
(UINT_PTR)Entry->SourceFilename,
|
||||
FILEOP_COPY);
|
||||
|
||||
if (Entry->SourceCabinet != NULL)
|
||||
{
|
||||
/* Extract the file */
|
||||
wcscpy(CabinetName, Entry->SourceRootPath);
|
||||
if (Entry->SourcePath != NULL)
|
||||
wcscat(CabinetName, Entry->SourcePath);
|
||||
wcscat(CabinetName, L"\\");
|
||||
wcscat(CabinetName, Entry->SourceCabinet);
|
||||
Status = SetupExtractFile(CabinetName, Entry->SourceFilename, FileDstPath);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Copy the file */
|
||||
Status = SetupCopyFile(FileSrcPath, FileDstPath);
|
||||
}
|
||||
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
MsgHandler(Context,
|
||||
SPFILENOTIFY_COPYERROR,
|
||||
(UINT_PTR)Entry->SourceFilename,
|
||||
FILEOP_COPY);
|
||||
}
|
||||
else
|
||||
{
|
||||
MsgHandler(Context,
|
||||
SPFILENOTIFY_ENDCOPY,
|
||||
(UINT_PTR)Entry->SourceFilename,
|
||||
FILEOP_COPY);
|
||||
}
|
||||
|
||||
Entry = Entry->Next;
|
||||
}
|
||||
|
||||
MsgHandler(Context,
|
||||
SPFILENOTIFY_ENDSUBQUEUE,
|
||||
FILEOP_COPY,
|
||||
0);
|
||||
|
||||
MsgHandler(Context,
|
||||
SPFILENOTIFY_ENDQUEUE,
|
||||
0,
|
||||
0);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* EOF */
|
112
base/setup/usetup/filequeue.h
Normal file
112
base/setup/usetup/filequeue.h
Normal file
|
@ -0,0 +1,112 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2002 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/filequeue.h
|
||||
* PURPOSE: File queue functions
|
||||
* PROGRAMMER: Eric Kohl
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define SPFILENOTIFY_STARTQUEUE 0x1
|
||||
#define SPFILENOTIFY_ENDQUEUE 0x2
|
||||
#define SPFILENOTIFY_STARTSUBQUEUE 0x3
|
||||
#define SPFILENOTIFY_ENDSUBQUEUE 0x4
|
||||
|
||||
#define SPFILENOTIFY_STARTCOPY 0xb
|
||||
#define SPFILENOTIFY_ENDCOPY 0xc
|
||||
#define SPFILENOTIFY_COPYERROR 0xd
|
||||
|
||||
#define FILEOP_COPY 0x0
|
||||
#define FILEOP_RENAME 0x1
|
||||
#define FILEOP_DELETE 0x2
|
||||
#define FILEOP_BACKUP 0x3
|
||||
|
||||
#define FILEOP_ABORT 0x0
|
||||
#define FILEOP_DOIT 0x1
|
||||
#define FILEOP_SKIP 0x2
|
||||
#define FILEOP_RETRY FILEOP_DOIT
|
||||
#define FILEOP_NEWPATH 0x4
|
||||
|
||||
|
||||
/* TYPES ********************************************************************/
|
||||
|
||||
typedef PVOID HSPFILEQ;
|
||||
|
||||
typedef UINT (CALLBACK* PSP_FILE_CALLBACK_W)(
|
||||
PVOID Context,
|
||||
UINT Notification,
|
||||
UINT_PTR Param1,
|
||||
UINT_PTR Param2);
|
||||
|
||||
typedef struct _COPYCONTEXT
|
||||
{
|
||||
LPCWSTR DestinationRootPath; /* Not owned by this structure */
|
||||
LPCWSTR InstallPath; /* Not owned by this structure */
|
||||
ULONG TotalOperations;
|
||||
ULONG CompletedOperations;
|
||||
PPROGRESSBAR ProgressBar;
|
||||
PPROGRESSBAR MemoryBars[4];
|
||||
} COPYCONTEXT, *PCOPYCONTEXT;
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
HSPFILEQ
|
||||
WINAPI
|
||||
SetupOpenFileQueue(VOID);
|
||||
|
||||
VOID
|
||||
WINAPI
|
||||
SetupCloseFileQueue(
|
||||
IN HSPFILEQ QueueHandle);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
SetupQueueCopyWNew(
|
||||
IN HSPFILEQ QueueHandle,
|
||||
IN PCWSTR SourceRootPath,
|
||||
IN PCWSTR SourcePath,
|
||||
IN PCWSTR SourceFileName,
|
||||
IN PCWSTR SourceDescription,
|
||||
IN PCWSTR SourceTagFile,
|
||||
IN PCWSTR TargetDirectory,
|
||||
IN PCWSTR TargetFileName,
|
||||
IN DWORD CopyStyle);
|
||||
|
||||
BOOL
|
||||
SetupQueueCopy(
|
||||
HSPFILEQ QueueHandle,
|
||||
PCWSTR SourceCabinet,
|
||||
PCWSTR SourceRootPath,
|
||||
PCWSTR SourcePath,
|
||||
PCWSTR SourceFilename,
|
||||
PCWSTR TargetDirectory,
|
||||
PCWSTR TargetFilename);
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
SetupCommitFileQueueW(
|
||||
HWND Owner,
|
||||
HSPFILEQ QueueHandle,
|
||||
PSP_FILE_CALLBACK_W MsgHandler,
|
||||
PVOID Context);
|
||||
|
||||
/* EOF */
|
537
base/setup/usetup/filesup.c
Normal file
537
base/setup/usetup/filesup.c
Normal file
|
@ -0,0 +1,537 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2002 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/filesup.c
|
||||
* PURPOSE: File support functions
|
||||
* PROGRAMMER: Eric Kohl
|
||||
* Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include "usetup.h"
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
static BOOLEAN HasCurrentCabinet = FALSE;
|
||||
static WCHAR CurrentCabinetName[MAX_PATH];
|
||||
static CAB_SEARCH Search;
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
SetupCreateSingleDirectory(
|
||||
PWCHAR DirectoryName)
|
||||
{
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
IO_STATUS_BLOCK IoStatusBlock;
|
||||
UNICODE_STRING PathName;
|
||||
HANDLE DirectoryHandle;
|
||||
NTSTATUS Status;
|
||||
|
||||
if(!RtlCreateUnicodeString(&PathName, DirectoryName))
|
||||
return STATUS_NO_MEMORY;
|
||||
|
||||
if (PathName.Length > sizeof(WCHAR) &&
|
||||
PathName.Buffer[PathName.Length / sizeof(WCHAR) - 2] == L'\\' &&
|
||||
PathName.Buffer[PathName.Length / sizeof(WCHAR) - 1] == L'.')
|
||||
{
|
||||
PathName.Length -= sizeof(WCHAR);
|
||||
PathName.Buffer[PathName.Length / sizeof(WCHAR)] = 0;
|
||||
}
|
||||
|
||||
if (PathName.Length > sizeof(WCHAR) &&
|
||||
PathName.Buffer[PathName.Length / sizeof(WCHAR) - 1] == L'\\')
|
||||
{
|
||||
PathName.Length -= sizeof(WCHAR);
|
||||
PathName.Buffer[PathName.Length / sizeof(WCHAR)] = 0;
|
||||
}
|
||||
|
||||
InitializeObjectAttributes(&ObjectAttributes,
|
||||
&PathName,
|
||||
OBJ_CASE_INSENSITIVE | OBJ_INHERIT,
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
Status = NtCreateFile(&DirectoryHandle,
|
||||
DIRECTORY_ALL_ACCESS,
|
||||
&ObjectAttributes,
|
||||
&IoStatusBlock,
|
||||
NULL,
|
||||
FILE_ATTRIBUTE_DIRECTORY,
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE,
|
||||
FILE_OPEN_IF,
|
||||
FILE_DIRECTORY_FILE,
|
||||
NULL,
|
||||
0);
|
||||
if (NT_SUCCESS(Status))
|
||||
{
|
||||
NtClose(DirectoryHandle);
|
||||
}
|
||||
|
||||
RtlFreeUnicodeString(&PathName);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
BOOLEAN
|
||||
DoesPathExist(
|
||||
PWSTR PathName)
|
||||
{
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
IO_STATUS_BLOCK IoStatusBlock;
|
||||
UNICODE_STRING Name;
|
||||
HANDLE FileHandle;
|
||||
NTSTATUS Status;
|
||||
|
||||
RtlInitUnicodeString(&Name,
|
||||
PathName);
|
||||
|
||||
InitializeObjectAttributes(&ObjectAttributes,
|
||||
&Name,
|
||||
OBJ_CASE_INSENSITIVE,
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
Status = NtOpenFile(&FileHandle,
|
||||
GENERIC_READ | SYNCHRONIZE,
|
||||
&ObjectAttributes,
|
||||
&IoStatusBlock,
|
||||
0,
|
||||
FILE_SYNCHRONOUS_IO_NONALERT);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
NtClose(FileHandle);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
IsValidPath(
|
||||
PWCHAR InstallDir,
|
||||
ULONG Length)
|
||||
{
|
||||
UINT i;
|
||||
|
||||
// TODO: Add check for 8.3 too.
|
||||
|
||||
/* Check for whitespaces */
|
||||
for (i = 0; i < Length; i++)
|
||||
{
|
||||
if (isspace(InstallDir[i]))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
SetupCreateDirectory(
|
||||
PWCHAR PathName)
|
||||
{
|
||||
PWCHAR PathBuffer = NULL;
|
||||
PWCHAR Ptr, EndPtr;
|
||||
ULONG BackslashCount;
|
||||
ULONG Size;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
|
||||
Size = (wcslen(PathName) + 1) * sizeof(WCHAR);
|
||||
PathBuffer = RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, Size);
|
||||
if (PathBuffer == NULL)
|
||||
return STATUS_INSUFFICIENT_RESOURCES;
|
||||
|
||||
wcscpy(PathBuffer, PathName);
|
||||
EndPtr = PathBuffer + wcslen(PathName);
|
||||
|
||||
Ptr = PathBuffer;
|
||||
|
||||
/* Skip the '\Device\HarddiskX\PartitionY\ part */
|
||||
BackslashCount = 0;
|
||||
while (Ptr < EndPtr && BackslashCount < 4)
|
||||
{
|
||||
if (*Ptr == L'\\')
|
||||
BackslashCount++;
|
||||
|
||||
Ptr++;
|
||||
}
|
||||
|
||||
while (Ptr < EndPtr)
|
||||
{
|
||||
if (*Ptr == L'\\')
|
||||
{
|
||||
*Ptr = 0;
|
||||
|
||||
DPRINT("PathBuffer: %S\n", PathBuffer);
|
||||
if (!DoesPathExist(PathBuffer))
|
||||
{
|
||||
DPRINT("Create: %S\n", PathBuffer);
|
||||
Status = SetupCreateSingleDirectory(PathBuffer);
|
||||
if (!NT_SUCCESS(Status))
|
||||
goto done;
|
||||
}
|
||||
|
||||
*Ptr = L'\\';
|
||||
}
|
||||
|
||||
Ptr++;
|
||||
}
|
||||
|
||||
if (!DoesPathExist(PathBuffer))
|
||||
{
|
||||
DPRINT("Create: %S\n", PathBuffer);
|
||||
Status = SetupCreateSingleDirectory(PathBuffer);
|
||||
if (!NT_SUCCESS(Status))
|
||||
goto done;
|
||||
}
|
||||
|
||||
done:
|
||||
DPRINT("Done.\n");
|
||||
if (PathBuffer != NULL)
|
||||
RtlFreeHeap(RtlGetProcessHeap(), 0, PathBuffer);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
SetupCopyFile(
|
||||
PWCHAR SourceFileName,
|
||||
PWCHAR DestinationFileName)
|
||||
{
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
HANDLE FileHandleSource;
|
||||
HANDLE FileHandleDest;
|
||||
static IO_STATUS_BLOCK IoStatusBlock;
|
||||
FILE_STANDARD_INFORMATION FileStandard;
|
||||
FILE_BASIC_INFORMATION FileBasic;
|
||||
ULONG RegionSize;
|
||||
UNICODE_STRING FileName;
|
||||
NTSTATUS Status;
|
||||
PVOID SourceFileMap = 0;
|
||||
HANDLE SourceFileSection;
|
||||
SIZE_T SourceSectionSize = 0;
|
||||
LARGE_INTEGER ByteOffset;
|
||||
|
||||
#ifdef __REACTOS__
|
||||
RtlInitUnicodeString(&FileName,
|
||||
SourceFileName);
|
||||
|
||||
InitializeObjectAttributes(&ObjectAttributes,
|
||||
&FileName,
|
||||
OBJ_CASE_INSENSITIVE,
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
Status = NtOpenFile(&FileHandleSource,
|
||||
GENERIC_READ,
|
||||
&ObjectAttributes,
|
||||
&IoStatusBlock,
|
||||
FILE_SHARE_READ,
|
||||
FILE_SEQUENTIAL_ONLY);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtOpenFile failed: %x, %wZ\n", Status, &FileName);
|
||||
goto done;
|
||||
}
|
||||
#else
|
||||
FileHandleSource = CreateFileW(SourceFileName,
|
||||
GENERIC_READ,
|
||||
FILE_SHARE_READ,
|
||||
NULL,
|
||||
OPEN_EXISTING,
|
||||
0,
|
||||
NULL);
|
||||
if (FileHandleSource == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
Status = STATUS_UNSUCCESSFUL;
|
||||
goto done;
|
||||
}
|
||||
#endif
|
||||
|
||||
Status = NtQueryInformationFile(FileHandleSource,
|
||||
&IoStatusBlock,
|
||||
&FileStandard,
|
||||
sizeof(FILE_STANDARD_INFORMATION),
|
||||
FileStandardInformation);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtQueryInformationFile failed: %x\n", Status);
|
||||
goto closesrc;
|
||||
}
|
||||
|
||||
Status = NtQueryInformationFile(FileHandleSource,
|
||||
&IoStatusBlock,&FileBasic,
|
||||
sizeof(FILE_BASIC_INFORMATION),
|
||||
FileBasicInformation);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtQueryInformationFile failed: %x\n", Status);
|
||||
goto closesrc;
|
||||
}
|
||||
|
||||
Status = NtCreateSection(&SourceFileSection,
|
||||
SECTION_MAP_READ,
|
||||
NULL,
|
||||
NULL,
|
||||
PAGE_READONLY,
|
||||
SEC_COMMIT,
|
||||
FileHandleSource);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtCreateSection failed: %x, %S\n", Status, SourceFileName);
|
||||
goto closesrc;
|
||||
}
|
||||
|
||||
Status = NtMapViewOfSection(SourceFileSection,
|
||||
NtCurrentProcess(),
|
||||
&SourceFileMap,
|
||||
0,
|
||||
0,
|
||||
NULL,
|
||||
&SourceSectionSize,
|
||||
ViewUnmap,
|
||||
0,
|
||||
PAGE_READONLY );
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtMapViewOfSection failed: %x, %S\n", Status, SourceFileName);
|
||||
goto closesrcsec;
|
||||
}
|
||||
|
||||
RtlInitUnicodeString(&FileName,
|
||||
DestinationFileName);
|
||||
|
||||
InitializeObjectAttributes(&ObjectAttributes,
|
||||
&FileName,
|
||||
OBJ_CASE_INSENSITIVE,
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
Status = NtCreateFile(&FileHandleDest,
|
||||
GENERIC_WRITE | SYNCHRONIZE,
|
||||
&ObjectAttributes,
|
||||
&IoStatusBlock,
|
||||
NULL,
|
||||
FILE_ATTRIBUTE_NORMAL,
|
||||
0,
|
||||
FILE_OVERWRITE_IF,
|
||||
FILE_NO_INTERMEDIATE_BUFFERING |
|
||||
FILE_SEQUENTIAL_ONLY |
|
||||
FILE_SYNCHRONOUS_IO_NONALERT,
|
||||
NULL,
|
||||
0);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtCreateFile failed: %x, %wZ\n", Status, &FileName);
|
||||
goto unmapsrcsec;
|
||||
}
|
||||
|
||||
RegionSize = (ULONG)PAGE_ROUND_UP(FileStandard.EndOfFile.u.LowPart);
|
||||
IoStatusBlock.Status = 0;
|
||||
ByteOffset.QuadPart = 0ULL;
|
||||
Status = NtWriteFile(FileHandleDest,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
&IoStatusBlock,
|
||||
SourceFileMap,
|
||||
RegionSize,
|
||||
&ByteOffset,
|
||||
NULL);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtWriteFile failed: %x:%x, iosb: %p src: %p, size: %x\n", Status, IoStatusBlock.Status, &IoStatusBlock, SourceFileMap, RegionSize);
|
||||
goto closedest;
|
||||
}
|
||||
|
||||
/* Copy file date/time from source file */
|
||||
Status = NtSetInformationFile(FileHandleDest,
|
||||
&IoStatusBlock,
|
||||
&FileBasic,
|
||||
sizeof(FILE_BASIC_INFORMATION),
|
||||
FileBasicInformation);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtSetInformationFile failed: %x\n", Status);
|
||||
goto closedest;
|
||||
}
|
||||
|
||||
/* shorten the file back to it's real size after completing the write */
|
||||
Status = NtSetInformationFile(FileHandleDest,
|
||||
&IoStatusBlock,
|
||||
&FileStandard.EndOfFile,
|
||||
sizeof(FILE_END_OF_FILE_INFORMATION),
|
||||
FileEndOfFileInformation);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtSetInformationFile failed: %x\n", Status);
|
||||
}
|
||||
|
||||
closedest:
|
||||
NtClose(FileHandleDest);
|
||||
|
||||
unmapsrcsec:
|
||||
NtUnmapViewOfSection(NtCurrentProcess(), SourceFileMap);
|
||||
|
||||
closesrcsec:
|
||||
NtClose(SourceFileSection);
|
||||
|
||||
closesrc:
|
||||
NtClose(FileHandleSource);
|
||||
|
||||
done:
|
||||
return Status;
|
||||
}
|
||||
|
||||
#ifdef __REACTOS__
|
||||
NTSTATUS
|
||||
SetupExtractFile(
|
||||
PWCHAR CabinetFileName,
|
||||
PWCHAR SourceFileName,
|
||||
PWCHAR DestinationPathName)
|
||||
{
|
||||
ULONG CabStatus;
|
||||
|
||||
DPRINT("SetupExtractFile(CabinetFileName %S, SourceFileName %S, DestinationPathName %S)\n",
|
||||
CabinetFileName, SourceFileName, DestinationPathName);
|
||||
|
||||
if (HasCurrentCabinet)
|
||||
{
|
||||
DPRINT("CurrentCabinetName: %S\n", CurrentCabinetName);
|
||||
}
|
||||
|
||||
if ((HasCurrentCabinet) && (wcscmp(CabinetFileName, CurrentCabinetName) == 0))
|
||||
{
|
||||
DPRINT("Using same cabinet as last time\n");
|
||||
|
||||
/* Use our last location because the files should be sequential */
|
||||
CabStatus = CabinetFindNextFileSequential(SourceFileName, &Search);
|
||||
if (CabStatus != CAB_STATUS_SUCCESS)
|
||||
{
|
||||
DPRINT("Sequential miss on file: %S\n", SourceFileName);
|
||||
|
||||
/* Looks like we got unlucky */
|
||||
CabStatus = CabinetFindFirst(SourceFileName, &Search);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DPRINT("Using new cabinet\n");
|
||||
|
||||
if (HasCurrentCabinet)
|
||||
{
|
||||
CabinetCleanup();
|
||||
}
|
||||
|
||||
wcscpy(CurrentCabinetName, CabinetFileName);
|
||||
|
||||
CabinetInitialize();
|
||||
CabinetSetEventHandlers(NULL, NULL, NULL);
|
||||
CabinetSetCabinetName(CabinetFileName);
|
||||
|
||||
CabStatus = CabinetOpen();
|
||||
if (CabStatus == CAB_STATUS_SUCCESS)
|
||||
{
|
||||
DPRINT("Opened cabinet %S\n", CabinetGetCabinetName());
|
||||
HasCurrentCabinet = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
DPRINT("Cannot open cabinet (%d)\n", CabStatus);
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
/* We have to start at the beginning here */
|
||||
CabStatus = CabinetFindFirst(SourceFileName, &Search);
|
||||
}
|
||||
|
||||
if (CabStatus != CAB_STATUS_SUCCESS)
|
||||
{
|
||||
DPRINT1("Unable to find '%S' in cabinet '%S'\n", SourceFileName, CabinetGetCabinetName());
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
CabinetSetDestinationPath(DestinationPathName);
|
||||
CabStatus = CabinetExtractFile(&Search);
|
||||
if (CabStatus != CAB_STATUS_SUCCESS)
|
||||
{
|
||||
DPRINT("Cannot extract file %S (%d)\n", SourceFileName, CabStatus);
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
|
||||
BOOLEAN
|
||||
DoesFileExist(
|
||||
PWSTR PathName,
|
||||
PWSTR FileName)
|
||||
{
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
IO_STATUS_BLOCK IoStatusBlock;
|
||||
UNICODE_STRING Name;
|
||||
WCHAR FullName[MAX_PATH];
|
||||
HANDLE FileHandle;
|
||||
NTSTATUS Status;
|
||||
|
||||
wcscpy(FullName, PathName);
|
||||
if (FileName != NULL)
|
||||
{
|
||||
if (FileName[0] != L'\\')
|
||||
wcscat(FullName, L"\\");
|
||||
wcscat(FullName, FileName);
|
||||
}
|
||||
|
||||
RtlInitUnicodeString(&Name,
|
||||
FullName);
|
||||
|
||||
InitializeObjectAttributes(&ObjectAttributes,
|
||||
&Name,
|
||||
OBJ_CASE_INSENSITIVE,
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
Status = NtOpenFile(&FileHandle,
|
||||
GENERIC_READ | SYNCHRONIZE,
|
||||
&ObjectAttributes,
|
||||
&IoStatusBlock,
|
||||
0,
|
||||
FILE_SYNCHRONOUS_IO_NONALERT);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
NtClose(FileHandle);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* EOF */
|
54
base/setup/usetup/filesup.h
Normal file
54
base/setup/usetup/filesup.h
Normal file
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2002 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/filesup.h
|
||||
* PURPOSE: File support functions
|
||||
* PROGRAMMER: Eric Kohl
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
NTSTATUS
|
||||
SetupCreateDirectory(
|
||||
PWCHAR DirectoryName);
|
||||
|
||||
NTSTATUS
|
||||
SetupCopyFile(
|
||||
PWCHAR SourceFileName,
|
||||
PWCHAR DestinationFileName);
|
||||
|
||||
NTSTATUS
|
||||
SetupExtractFile(
|
||||
PWCHAR CabinetFileName,
|
||||
PWCHAR SourceFileName,
|
||||
PWCHAR DestinationFileName);
|
||||
|
||||
BOOLEAN
|
||||
DoesFileExist(
|
||||
PWSTR PathName,
|
||||
PWSTR FileName);
|
||||
|
||||
BOOLEAN
|
||||
IsValidPath(
|
||||
PWCHAR InstallDir,
|
||||
ULONG Length);
|
||||
|
||||
/* EOF */
|
124
base/setup/usetup/format.c
Normal file
124
base/setup/usetup/format.c
Normal file
|
@ -0,0 +1,124 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2003 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/format.c
|
||||
* PURPOSE: Filesystem format support functions
|
||||
* PROGRAMMER: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include "usetup.h"
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
static PPROGRESSBAR FormatProgressBar = NULL;
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
static
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FormatCallback(
|
||||
IN CALLBACKCOMMAND Command,
|
||||
IN ULONG Modifier,
|
||||
IN PVOID Argument)
|
||||
{
|
||||
switch (Command)
|
||||
{
|
||||
case PROGRESS:
|
||||
{
|
||||
PULONG Percent;
|
||||
|
||||
Percent = (PULONG)Argument;
|
||||
DPRINT("%lu percent completed\n", *Percent);
|
||||
|
||||
ProgressSetStep(FormatProgressBar, *Percent);
|
||||
break;
|
||||
}
|
||||
|
||||
/*case OUTPUT:
|
||||
{
|
||||
PTEXTOUTPUT Output;
|
||||
output = (PTEXTOUTPUT) Argument;
|
||||
DPRINT("%s\n", output->Output);
|
||||
break;
|
||||
}*/
|
||||
|
||||
case DONE:
|
||||
{
|
||||
/*PBOOLEAN Success;*/
|
||||
DPRINT("Done\n");
|
||||
|
||||
/*Success = (PBOOLEAN)Argument;
|
||||
if (*Success == FALSE)
|
||||
{
|
||||
DPRINT("FormatEx was unable to complete successfully.\n\n");
|
||||
}*/
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
DPRINT("Unknown callback %lu\n", (ULONG)Command);
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
FormatPartition(
|
||||
IN PUNICODE_STRING DriveRoot,
|
||||
IN PFILE_SYSTEM_ITEM FileSystem)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
if (!FileSystem->FormatFunc)
|
||||
return STATUS_NOT_SUPPORTED;
|
||||
|
||||
FormatProgressBar = CreateProgressBar(6,
|
||||
yScreen - 14,
|
||||
xScreen - 7,
|
||||
yScreen - 10,
|
||||
10,
|
||||
24,
|
||||
TRUE,
|
||||
MUIGetString(STRING_FORMATTINGDISK));
|
||||
|
||||
ProgressSetStepCount(FormatProgressBar, 100);
|
||||
|
||||
Status = FileSystem->FormatFunc(DriveRoot,
|
||||
FMIFS_HARDDISK, /* MediaFlag */
|
||||
NULL, /* Label */
|
||||
FileSystem->QuickFormat, /* QuickFormat */
|
||||
0, /* ClusterSize */
|
||||
FormatCallback); /* Callback */
|
||||
|
||||
DestroyProgressBar(FormatProgressBar);
|
||||
FormatProgressBar = NULL;
|
||||
|
||||
DPRINT("FormatPartition() finished with status 0x%08lx\n", Status);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
/* EOF */
|
34
base/setup/usetup/format.h
Normal file
34
base/setup/usetup/format.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2003 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/format.h
|
||||
* PURPOSE: Filesystem format support functions
|
||||
* PROGRAMMER: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
NTSTATUS
|
||||
FormatPartition(
|
||||
IN PUNICODE_STRING DriveRoot,
|
||||
IN PFILE_SYSTEM_ITEM FileSystem);
|
||||
|
||||
/* EOF */
|
302
base/setup/usetup/fslist.c
Normal file
302
base/setup/usetup/fslist.c
Normal file
|
@ -0,0 +1,302 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2003 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/fslist.c
|
||||
* PURPOSE: Filesystem list functions
|
||||
* PROGRAMMER: Eric Kohl
|
||||
* Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
*/
|
||||
|
||||
#include "usetup.h"
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
VOID
|
||||
FS_AddProvider(
|
||||
IN OUT PFILE_SYSTEM_LIST List,
|
||||
IN LPCWSTR FileSystemName,
|
||||
IN FORMATEX FormatFunc,
|
||||
IN CHKDSKEX ChkdskFunc)
|
||||
{
|
||||
PFILE_SYSTEM_ITEM Item;
|
||||
|
||||
Item = (PFILE_SYSTEM_ITEM)RtlAllocateHeap(ProcessHeap, 0, sizeof(FILE_SYSTEM_ITEM));
|
||||
if (!Item)
|
||||
return;
|
||||
|
||||
Item->FileSystemName = FileSystemName;
|
||||
Item->FormatFunc = FormatFunc;
|
||||
Item->ChkdskFunc = ChkdskFunc;
|
||||
Item->QuickFormat = TRUE;
|
||||
InsertTailList(&List->ListHead, &Item->ListEntry);
|
||||
|
||||
if (!FormatFunc)
|
||||
return;
|
||||
|
||||
Item = (PFILE_SYSTEM_ITEM)RtlAllocateHeap(ProcessHeap, 0, sizeof(FILE_SYSTEM_ITEM));
|
||||
if (!Item)
|
||||
return;
|
||||
|
||||
Item->FileSystemName = FileSystemName;
|
||||
Item->FormatFunc = FormatFunc;
|
||||
Item->ChkdskFunc = ChkdskFunc;
|
||||
Item->QuickFormat = FALSE;
|
||||
InsertTailList(&List->ListHead, &Item->ListEntry);
|
||||
}
|
||||
|
||||
|
||||
PFILE_SYSTEM_ITEM
|
||||
GetFileSystemByName(
|
||||
IN PFILE_SYSTEM_LIST List,
|
||||
IN LPWSTR FileSystemName)
|
||||
{
|
||||
PLIST_ENTRY ListEntry;
|
||||
PFILE_SYSTEM_ITEM Item;
|
||||
|
||||
ListEntry = List->ListHead.Flink;
|
||||
while (ListEntry != &List->ListHead)
|
||||
{
|
||||
Item = CONTAINING_RECORD(ListEntry, FILE_SYSTEM_ITEM, ListEntry);
|
||||
if (Item->FileSystemName && wcsicmp(FileSystemName, Item->FileSystemName) == 0)
|
||||
return Item;
|
||||
|
||||
ListEntry = ListEntry->Flink;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
PFILE_SYSTEM_ITEM
|
||||
GetFileSystem(
|
||||
IN PFILE_SYSTEM_LIST FileSystemList,
|
||||
IN struct _PARTENTRY* PartEntry)
|
||||
{
|
||||
PFILE_SYSTEM_ITEM CurrentFileSystem;
|
||||
LPWSTR FileSystemName = NULL;
|
||||
|
||||
CurrentFileSystem = PartEntry->FileSystem;
|
||||
|
||||
/* We have a file system, return it */
|
||||
if (CurrentFileSystem != NULL && CurrentFileSystem->FileSystemName != NULL)
|
||||
return CurrentFileSystem;
|
||||
|
||||
DPRINT1("File system not found, try to guess one...\n");
|
||||
|
||||
CurrentFileSystem = NULL;
|
||||
|
||||
/*
|
||||
* We don't have one...
|
||||
*
|
||||
* Try to infer a preferred file system for this partition, given its ID.
|
||||
*
|
||||
* WARNING: This is partly a hack, since partitions with the same ID can
|
||||
* be formatted with different file systems: for example, usual Linux
|
||||
* partitions that are formatted in EXT2/3/4, ReiserFS, etc... have the
|
||||
* same partition ID 0x83.
|
||||
*
|
||||
* The proper fix is to make a function that detects the existing FS
|
||||
* from a given partition (not based on the partition ID).
|
||||
* On the contrary, for unformatted partitions with a given ID, the
|
||||
* following code is OK.
|
||||
*/
|
||||
if ((PartEntry->PartitionType == PARTITION_FAT_12) ||
|
||||
(PartEntry->PartitionType == PARTITION_FAT_16) ||
|
||||
(PartEntry->PartitionType == PARTITION_HUGE ) ||
|
||||
(PartEntry->PartitionType == PARTITION_XINT13) ||
|
||||
(PartEntry->PartitionType == PARTITION_FAT32 ) ||
|
||||
(PartEntry->PartitionType == PARTITION_FAT32_XINT13))
|
||||
{
|
||||
FileSystemName = L"FAT";
|
||||
}
|
||||
else if (PartEntry->PartitionType == PARTITION_EXT2)
|
||||
{
|
||||
// WARNING: See the warning above.
|
||||
FileSystemName = L"EXT2";
|
||||
}
|
||||
else if (PartEntry->PartitionType == PARTITION_IFS)
|
||||
{
|
||||
// WARNING: See the warning above.
|
||||
FileSystemName = L"NTFS"; /* FIXME: Not quite correct! */
|
||||
}
|
||||
|
||||
// HACK: WARNING: We cannot write on this FS yet!
|
||||
if (PartEntry->PartitionType == PARTITION_EXT2 || PartEntry->PartitionType == PARTITION_IFS)
|
||||
DPRINT1("Recognized file system %S that doesn't support write support yet!\n", FileSystemName);
|
||||
|
||||
DPRINT1("GetFileSystem -- PartitionType: 0x%02X ; FileSystemName (guessed): %S\n",
|
||||
PartEntry->PartitionType, FileSystemName);
|
||||
|
||||
if (FileSystemName != NULL)
|
||||
CurrentFileSystem = GetFileSystemByName(FileSystemList, FileSystemName);
|
||||
|
||||
return CurrentFileSystem;
|
||||
}
|
||||
|
||||
|
||||
PFILE_SYSTEM_LIST
|
||||
CreateFileSystemList(
|
||||
IN SHORT Left,
|
||||
IN SHORT Top,
|
||||
IN BOOLEAN ForceFormat,
|
||||
IN LPCWSTR ForceFileSystem)
|
||||
{
|
||||
PFILE_SYSTEM_LIST List;
|
||||
PFILE_SYSTEM_ITEM Item;
|
||||
PLIST_ENTRY ListEntry;
|
||||
|
||||
List = (PFILE_SYSTEM_LIST)RtlAllocateHeap(ProcessHeap, 0, sizeof(FILE_SYSTEM_LIST));
|
||||
if (List == NULL)
|
||||
return NULL;
|
||||
|
||||
List->Left = Left;
|
||||
List->Top = Top;
|
||||
List->Selected = NULL;
|
||||
InitializeListHead(&List->ListHead);
|
||||
|
||||
HOST_CreateFileSystemList(List);
|
||||
|
||||
if (!ForceFormat)
|
||||
{
|
||||
/* Add 'Keep' provider */
|
||||
FS_AddProvider(List, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
/* Search for ForceFileSystem in list */
|
||||
ListEntry = List->ListHead.Flink;
|
||||
while (ListEntry != &List->ListHead)
|
||||
{
|
||||
Item = CONTAINING_RECORD(ListEntry, FILE_SYSTEM_ITEM, ListEntry);
|
||||
if (Item->FileSystemName && wcscmp(ForceFileSystem, Item->FileSystemName) == 0)
|
||||
{
|
||||
List->Selected = Item;
|
||||
break;
|
||||
}
|
||||
ListEntry = ListEntry->Flink;
|
||||
}
|
||||
if (!List->Selected)
|
||||
List->Selected = CONTAINING_RECORD(List->ListHead.Flink, FILE_SYSTEM_ITEM, ListEntry);
|
||||
|
||||
return List;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
DestroyFileSystemList(
|
||||
IN PFILE_SYSTEM_LIST List)
|
||||
{
|
||||
PLIST_ENTRY ListEntry = List->ListHead.Flink;
|
||||
PFILE_SYSTEM_ITEM Item;
|
||||
PLIST_ENTRY Next;
|
||||
|
||||
while (ListEntry != &List->ListHead)
|
||||
{
|
||||
Item = CONTAINING_RECORD(ListEntry, FILE_SYSTEM_ITEM, ListEntry);
|
||||
Next = ListEntry->Flink;
|
||||
|
||||
RtlFreeHeap(ProcessHeap, 0, Item);
|
||||
|
||||
ListEntry = Next;
|
||||
}
|
||||
RtlFreeHeap(ProcessHeap, 0, List);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
DrawFileSystemList(
|
||||
IN PFILE_SYSTEM_LIST List)
|
||||
{
|
||||
PLIST_ENTRY ListEntry;
|
||||
PFILE_SYSTEM_ITEM Item;
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
ULONG Index = 0;
|
||||
CHAR Buffer[128];
|
||||
|
||||
ListEntry = List->ListHead.Flink;
|
||||
while (ListEntry != &List->ListHead)
|
||||
{
|
||||
Item = CONTAINING_RECORD(ListEntry, FILE_SYSTEM_ITEM, ListEntry);
|
||||
|
||||
coPos.X = List->Left;
|
||||
coPos.Y = List->Top + (SHORT)Index;
|
||||
FillConsoleOutputAttribute(StdOutput,
|
||||
FOREGROUND_WHITE | BACKGROUND_BLUE,
|
||||
sizeof(Buffer),
|
||||
coPos,
|
||||
&Written);
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
' ',
|
||||
sizeof(Buffer),
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
if (Item->FileSystemName)
|
||||
{
|
||||
if (Item->QuickFormat)
|
||||
snprintf(Buffer, sizeof(Buffer), MUIGetString(STRING_FORMATDISK1), Item->FileSystemName);
|
||||
else
|
||||
snprintf(Buffer, sizeof(Buffer), MUIGetString(STRING_FORMATDISK2), Item->FileSystemName);
|
||||
}
|
||||
else
|
||||
snprintf(Buffer, sizeof(Buffer), MUIGetString(STRING_KEEPFORMAT));
|
||||
|
||||
if (ListEntry == &List->Selected->ListEntry)
|
||||
CONSOLE_SetInvertedTextXY(List->Left,
|
||||
List->Top + (SHORT)Index,
|
||||
Buffer);
|
||||
else
|
||||
CONSOLE_SetTextXY(List->Left,
|
||||
List->Top + (SHORT)Index,
|
||||
Buffer);
|
||||
Index++;
|
||||
ListEntry = ListEntry->Flink;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
ScrollDownFileSystemList(
|
||||
IN PFILE_SYSTEM_LIST List)
|
||||
{
|
||||
if (List->Selected->ListEntry.Flink != &List->ListHead)
|
||||
{
|
||||
List->Selected = CONTAINING_RECORD(List->Selected->ListEntry.Flink, FILE_SYSTEM_ITEM, ListEntry);
|
||||
DrawFileSystemList(List);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
ScrollUpFileSystemList(
|
||||
IN PFILE_SYSTEM_LIST List)
|
||||
{
|
||||
if (List->Selected->ListEntry.Blink != &List->ListHead)
|
||||
{
|
||||
List->Selected = CONTAINING_RECORD(List->Selected->ListEntry.Blink, FILE_SYSTEM_ITEM, ListEntry);
|
||||
DrawFileSystemList(List);
|
||||
}
|
||||
}
|
||||
|
||||
/* EOF */
|
89
base/setup/usetup/fslist.h
Normal file
89
base/setup/usetup/fslist.h
Normal file
|
@ -0,0 +1,89 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2003 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/fslist.h
|
||||
* PURPOSE: Filesystem list functions
|
||||
* PROGRAMMER: Eric Kohl
|
||||
* Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <fmifs/fmifs.h>
|
||||
|
||||
typedef struct _FILE_SYSTEM_ITEM
|
||||
{
|
||||
LIST_ENTRY ListEntry;
|
||||
LPCWSTR FileSystemName; /* Not owned by the item */
|
||||
FORMATEX FormatFunc;
|
||||
CHKDSKEX ChkdskFunc;
|
||||
BOOLEAN QuickFormat;
|
||||
} FILE_SYSTEM_ITEM, *PFILE_SYSTEM_ITEM;
|
||||
|
||||
typedef struct _FILE_SYSTEM_LIST
|
||||
{
|
||||
SHORT Left;
|
||||
SHORT Top;
|
||||
PFILE_SYSTEM_ITEM Selected;
|
||||
LIST_ENTRY ListHead; /* List of FILE_SYSTEM_ITEM */
|
||||
} FILE_SYSTEM_LIST, *PFILE_SYSTEM_LIST;
|
||||
|
||||
VOID
|
||||
FS_AddProvider(
|
||||
IN OUT PFILE_SYSTEM_LIST List,
|
||||
IN LPCWSTR FileSystemName,
|
||||
IN FORMATEX FormatFunc,
|
||||
IN CHKDSKEX ChkdskFunc);
|
||||
|
||||
PFILE_SYSTEM_ITEM
|
||||
GetFileSystemByName(
|
||||
IN PFILE_SYSTEM_LIST List,
|
||||
IN LPWSTR FileSystemName);
|
||||
|
||||
struct _PARTENTRY; // Defined in partlist.h
|
||||
PFILE_SYSTEM_ITEM
|
||||
GetFileSystem(
|
||||
IN PFILE_SYSTEM_LIST FileSystemList,
|
||||
IN struct _PARTENTRY* PartEntry);
|
||||
|
||||
PFILE_SYSTEM_LIST
|
||||
CreateFileSystemList(
|
||||
IN SHORT Left,
|
||||
IN SHORT Top,
|
||||
IN BOOLEAN ForceFormat,
|
||||
IN LPCWSTR ForceFileSystem);
|
||||
|
||||
VOID
|
||||
DestroyFileSystemList(
|
||||
IN PFILE_SYSTEM_LIST List);
|
||||
|
||||
VOID
|
||||
DrawFileSystemList(
|
||||
IN PFILE_SYSTEM_LIST List);
|
||||
|
||||
VOID
|
||||
ScrollDownFileSystemList(
|
||||
IN PFILE_SYSTEM_LIST List);
|
||||
|
||||
VOID
|
||||
ScrollUpFileSystemList(
|
||||
IN PFILE_SYSTEM_LIST List);
|
||||
|
||||
/* EOF */
|
716
base/setup/usetup/genlist.c
Normal file
716
base/setup/usetup/genlist.c
Normal file
|
@ -0,0 +1,716 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2004 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/genlist.c
|
||||
* PURPOSE: Generic list functions
|
||||
* PROGRAMMER: Eric Kohl
|
||||
* Christoph von Wittich <christoph at reactos.org>
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include "usetup.h"
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
typedef struct _GENERIC_LIST_ENTRY
|
||||
{
|
||||
LIST_ENTRY Entry;
|
||||
PGENERIC_LIST List;
|
||||
PVOID UserData;
|
||||
CHAR Text[1];
|
||||
} GENERIC_LIST_ENTRY;
|
||||
|
||||
|
||||
typedef struct _GENERIC_LIST
|
||||
{
|
||||
LIST_ENTRY ListHead;
|
||||
|
||||
PLIST_ENTRY FirstShown;
|
||||
PLIST_ENTRY LastShown;
|
||||
SHORT Left;
|
||||
SHORT Top;
|
||||
SHORT Right;
|
||||
SHORT Bottom;
|
||||
BOOL Redraw;
|
||||
|
||||
PGENERIC_LIST_ENTRY CurrentEntry;
|
||||
PGENERIC_LIST_ENTRY BackupEntry;
|
||||
} GENERIC_LIST;
|
||||
|
||||
PGENERIC_LIST
|
||||
CreateGenericList(VOID)
|
||||
{
|
||||
PGENERIC_LIST List;
|
||||
|
||||
List = (PGENERIC_LIST)RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
sizeof(GENERIC_LIST));
|
||||
if (List == NULL)
|
||||
return NULL;
|
||||
|
||||
InitializeListHead(&List->ListHead);
|
||||
|
||||
List->Left = 0;
|
||||
List->Top = 0;
|
||||
List->Right = 0;
|
||||
List->Bottom = 0;
|
||||
List->Redraw = TRUE;
|
||||
|
||||
List->CurrentEntry = NULL;
|
||||
|
||||
return List;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
DestroyGenericList(
|
||||
PGENERIC_LIST List,
|
||||
BOOLEAN FreeUserData)
|
||||
{
|
||||
PGENERIC_LIST_ENTRY ListEntry;
|
||||
PLIST_ENTRY Entry;
|
||||
|
||||
/* Release list entries */
|
||||
while (!IsListEmpty (&List->ListHead))
|
||||
{
|
||||
Entry = RemoveHeadList (&List->ListHead);
|
||||
ListEntry = CONTAINING_RECORD (Entry, GENERIC_LIST_ENTRY, Entry);
|
||||
|
||||
/* Release user data */
|
||||
if (FreeUserData && ListEntry->UserData != NULL)
|
||||
RtlFreeHeap (ProcessHeap, 0, ListEntry->UserData);
|
||||
|
||||
/* Release list entry */
|
||||
RtlFreeHeap (ProcessHeap, 0, ListEntry);
|
||||
}
|
||||
|
||||
/* Release list head */
|
||||
RtlFreeHeap (ProcessHeap, 0, List);
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
AppendGenericListEntry(
|
||||
PGENERIC_LIST List,
|
||||
PCHAR Text,
|
||||
PVOID UserData,
|
||||
BOOLEAN Current)
|
||||
{
|
||||
PGENERIC_LIST_ENTRY Entry;
|
||||
|
||||
Entry = (PGENERIC_LIST_ENTRY)RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
sizeof(GENERIC_LIST_ENTRY) + strlen(Text));
|
||||
if (Entry == NULL)
|
||||
return FALSE;
|
||||
|
||||
strcpy (Entry->Text, Text);
|
||||
Entry->List = List;
|
||||
Entry->UserData = UserData;
|
||||
|
||||
InsertTailList(&List->ListHead,
|
||||
&Entry->Entry);
|
||||
|
||||
if (Current || List->CurrentEntry == NULL)
|
||||
{
|
||||
List->CurrentEntry = Entry;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
VOID
|
||||
DrawListFrame(
|
||||
PGENERIC_LIST GenericList)
|
||||
{
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
SHORT i;
|
||||
|
||||
/* Draw upper left corner */
|
||||
coPos.X = GenericList->Left;
|
||||
coPos.Y = GenericList->Top;
|
||||
FillConsoleOutputCharacterA (StdOutput,
|
||||
0xDA, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* Draw upper edge */
|
||||
coPos.X = GenericList->Left + 1;
|
||||
coPos.Y = GenericList->Top;
|
||||
FillConsoleOutputCharacterA (StdOutput,
|
||||
0xC4, // '-',
|
||||
GenericList->Right - GenericList->Left - 1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* Draw upper right corner */
|
||||
coPos.X = GenericList->Right;
|
||||
coPos.Y = GenericList->Top;
|
||||
FillConsoleOutputCharacterA (StdOutput,
|
||||
0xBF, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* Draw left and right edge */
|
||||
for (i = GenericList->Top + 1; i < GenericList->Bottom; i++)
|
||||
{
|
||||
coPos.X = GenericList->Left;
|
||||
coPos.Y = i;
|
||||
FillConsoleOutputCharacterA (StdOutput,
|
||||
0xB3, // '|',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
coPos.X = GenericList->Right;
|
||||
FillConsoleOutputCharacterA (StdOutput,
|
||||
0xB3, //'|',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
/* Draw lower left corner */
|
||||
coPos.X = GenericList->Left;
|
||||
coPos.Y = GenericList->Bottom;
|
||||
FillConsoleOutputCharacterA (StdOutput,
|
||||
0xC0, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* Draw lower edge */
|
||||
coPos.X = GenericList->Left + 1;
|
||||
coPos.Y = GenericList->Bottom;
|
||||
FillConsoleOutputCharacterA (StdOutput,
|
||||
0xC4, // '-',
|
||||
GenericList->Right - GenericList->Left - 1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* Draw lower right corner */
|
||||
coPos.X = GenericList->Right;
|
||||
coPos.Y = GenericList->Bottom;
|
||||
FillConsoleOutputCharacterA (StdOutput,
|
||||
0xD9, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
VOID
|
||||
DrawListEntries(
|
||||
PGENERIC_LIST GenericList)
|
||||
{
|
||||
PGENERIC_LIST_ENTRY ListEntry;
|
||||
PLIST_ENTRY Entry;
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
USHORT Width;
|
||||
|
||||
coPos.X = GenericList->Left + 1;
|
||||
coPos.Y = GenericList->Top + 1;
|
||||
Width = GenericList->Right - GenericList->Left - 1;
|
||||
|
||||
Entry = GenericList->FirstShown;
|
||||
while (Entry != &GenericList->ListHead)
|
||||
{
|
||||
ListEntry = CONTAINING_RECORD (Entry, GENERIC_LIST_ENTRY, Entry);
|
||||
|
||||
if (coPos.Y == GenericList->Bottom)
|
||||
break;
|
||||
GenericList->LastShown = Entry;
|
||||
|
||||
FillConsoleOutputAttribute (StdOutput,
|
||||
(GenericList->CurrentEntry == ListEntry) ?
|
||||
FOREGROUND_BLUE | BACKGROUND_WHITE :
|
||||
FOREGROUND_WHITE | BACKGROUND_BLUE,
|
||||
Width,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
FillConsoleOutputCharacterA (StdOutput,
|
||||
' ',
|
||||
Width,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
coPos.X++;
|
||||
WriteConsoleOutputCharacterA (StdOutput,
|
||||
ListEntry->Text,
|
||||
min (strlen(ListEntry->Text), (SIZE_T)Width - 2),
|
||||
coPos,
|
||||
&Written);
|
||||
coPos.X--;
|
||||
|
||||
coPos.Y++;
|
||||
Entry = Entry->Flink;
|
||||
}
|
||||
|
||||
while (coPos.Y < GenericList->Bottom)
|
||||
{
|
||||
FillConsoleOutputAttribute (StdOutput,
|
||||
FOREGROUND_WHITE | BACKGROUND_BLUE,
|
||||
Width,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
FillConsoleOutputCharacterA (StdOutput,
|
||||
' ',
|
||||
Width,
|
||||
coPos,
|
||||
&Written);
|
||||
coPos.Y++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
VOID
|
||||
DrawScrollBarGenericList(
|
||||
PGENERIC_LIST GenericList)
|
||||
{
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
|
||||
coPos.X = GenericList->Right + 1;
|
||||
coPos.Y = GenericList->Top;
|
||||
|
||||
if (GenericList->FirstShown != GenericList->ListHead.Flink)
|
||||
{
|
||||
FillConsoleOutputCharacterA (StdOutput,
|
||||
'\x18',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
else
|
||||
{
|
||||
FillConsoleOutputCharacterA (StdOutput,
|
||||
' ',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
coPos.Y = GenericList->Bottom;
|
||||
if (GenericList->LastShown != GenericList->ListHead.Blink)
|
||||
{
|
||||
FillConsoleOutputCharacterA (StdOutput,
|
||||
'\x19',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
else
|
||||
{
|
||||
FillConsoleOutputCharacterA (StdOutput,
|
||||
' ',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
VOID
|
||||
CenterCurrentListItem(
|
||||
PGENERIC_LIST List)
|
||||
{
|
||||
PLIST_ENTRY Entry;
|
||||
ULONG MaxVisibleItems, ItemCount, i;
|
||||
|
||||
if ((List->Top == 0 && List->Bottom == 0) ||
|
||||
IsListEmpty(&List->ListHead) ||
|
||||
List->CurrentEntry == NULL)
|
||||
return;
|
||||
|
||||
MaxVisibleItems = (ULONG)(List->Bottom - List->Top - 1);
|
||||
|
||||
ItemCount = 0;
|
||||
Entry = List->ListHead.Flink;
|
||||
while (Entry != &List->ListHead)
|
||||
{
|
||||
ItemCount++;
|
||||
Entry = Entry->Flink;
|
||||
}
|
||||
|
||||
if (ItemCount > MaxVisibleItems)
|
||||
{
|
||||
Entry = &List->CurrentEntry->Entry;
|
||||
for (i = 0; i < MaxVisibleItems / 2; i++)
|
||||
{
|
||||
if (Entry->Blink != &List->ListHead)
|
||||
Entry = Entry->Blink;
|
||||
}
|
||||
|
||||
List->FirstShown = Entry;
|
||||
|
||||
for (i = 0; i < MaxVisibleItems; i++)
|
||||
{
|
||||
if (Entry->Flink != &List->ListHead)
|
||||
Entry = Entry->Flink;
|
||||
}
|
||||
|
||||
List->LastShown = Entry;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
DrawGenericList(
|
||||
PGENERIC_LIST List,
|
||||
SHORT Left,
|
||||
SHORT Top,
|
||||
SHORT Right,
|
||||
SHORT Bottom)
|
||||
{
|
||||
List->FirstShown = List->ListHead.Flink;
|
||||
List->Left = Left;
|
||||
List->Top = Top;
|
||||
List->Right = Right;
|
||||
List->Bottom = Bottom;
|
||||
|
||||
DrawListFrame(List);
|
||||
|
||||
if (IsListEmpty(&List->ListHead))
|
||||
return;
|
||||
|
||||
CenterCurrentListItem(List);
|
||||
|
||||
DrawListEntries(List);
|
||||
DrawScrollBarGenericList(List);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
ScrollPageDownGenericList(
|
||||
PGENERIC_LIST List)
|
||||
{
|
||||
SHORT i;
|
||||
|
||||
/* Suspend auto-redraw */
|
||||
List->Redraw = FALSE;
|
||||
|
||||
for (i = List->Top + 1; i < List->Bottom - 1; i++)
|
||||
{
|
||||
ScrollDownGenericList (List);
|
||||
}
|
||||
|
||||
/* Update user interface */
|
||||
DrawListEntries(List);
|
||||
DrawScrollBarGenericList(List);
|
||||
|
||||
/* Re enable auto-redraw */
|
||||
List->Redraw = TRUE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
ScrollPageUpGenericList(
|
||||
PGENERIC_LIST List)
|
||||
{
|
||||
SHORT i;
|
||||
|
||||
/* Suspend auto-redraw */
|
||||
List->Redraw = FALSE;
|
||||
|
||||
for (i = List->Bottom - 1; i > List->Top + 1; i--)
|
||||
{
|
||||
ScrollUpGenericList (List);
|
||||
}
|
||||
|
||||
/* Update user interface */
|
||||
DrawListEntries(List);
|
||||
DrawScrollBarGenericList(List);
|
||||
|
||||
/* Re enable auto-redraw */
|
||||
List->Redraw = TRUE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
ScrollDownGenericList(
|
||||
PGENERIC_LIST List)
|
||||
{
|
||||
PLIST_ENTRY Entry;
|
||||
|
||||
if (List->CurrentEntry == NULL)
|
||||
return;
|
||||
|
||||
if (List->CurrentEntry->Entry.Flink != &List->ListHead)
|
||||
{
|
||||
Entry = List->CurrentEntry->Entry.Flink;
|
||||
if (List->LastShown == &List->CurrentEntry->Entry)
|
||||
{
|
||||
List->FirstShown = List->FirstShown->Flink;
|
||||
List->LastShown = List->LastShown->Flink;
|
||||
}
|
||||
List->CurrentEntry = CONTAINING_RECORD (Entry, GENERIC_LIST_ENTRY, Entry);
|
||||
|
||||
if (List->Redraw)
|
||||
{
|
||||
DrawListEntries(List);
|
||||
DrawScrollBarGenericList(List);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
ScrollToPositionGenericList(
|
||||
PGENERIC_LIST List,
|
||||
ULONG uIndex)
|
||||
{
|
||||
PLIST_ENTRY Entry;
|
||||
ULONG uCount = 0;
|
||||
|
||||
if (List->CurrentEntry == NULL || uIndex == 0)
|
||||
return;
|
||||
|
||||
do
|
||||
{
|
||||
if (List->CurrentEntry->Entry.Flink != &List->ListHead)
|
||||
{
|
||||
Entry = List->CurrentEntry->Entry.Flink;
|
||||
if (List->LastShown == &List->CurrentEntry->Entry)
|
||||
{
|
||||
List->FirstShown = List->FirstShown->Flink;
|
||||
List->LastShown = List->LastShown->Flink;
|
||||
}
|
||||
List->CurrentEntry = CONTAINING_RECORD (Entry, GENERIC_LIST_ENTRY, Entry);
|
||||
}
|
||||
uCount++;
|
||||
}
|
||||
while (uIndex != uCount);
|
||||
|
||||
if (List->Redraw)
|
||||
{
|
||||
DrawListEntries(List);
|
||||
DrawScrollBarGenericList(List);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
ScrollUpGenericList(
|
||||
PGENERIC_LIST List)
|
||||
{
|
||||
PLIST_ENTRY Entry;
|
||||
|
||||
if (List->CurrentEntry == NULL)
|
||||
return;
|
||||
|
||||
if (List->CurrentEntry->Entry.Blink != &List->ListHead)
|
||||
{
|
||||
Entry = List->CurrentEntry->Entry.Blink;
|
||||
if (List->FirstShown == &List->CurrentEntry->Entry)
|
||||
{
|
||||
List->FirstShown = List->FirstShown->Blink;
|
||||
List->LastShown = List->LastShown->Blink;
|
||||
}
|
||||
List->CurrentEntry = CONTAINING_RECORD (Entry, GENERIC_LIST_ENTRY, Entry);
|
||||
|
||||
if (List->Redraw)
|
||||
{
|
||||
DrawListEntries(List);
|
||||
DrawScrollBarGenericList(List);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
RedrawGenericList(
|
||||
PGENERIC_LIST List)
|
||||
{
|
||||
if (List->CurrentEntry == NULL)
|
||||
return;
|
||||
|
||||
if (List->Redraw)
|
||||
{
|
||||
DrawListEntries(List);
|
||||
DrawScrollBarGenericList(List);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
SetCurrentListEntry(
|
||||
PGENERIC_LIST List,
|
||||
PGENERIC_LIST_ENTRY Entry)
|
||||
{
|
||||
if (Entry->List != List)
|
||||
return;
|
||||
List->CurrentEntry = Entry;
|
||||
}
|
||||
|
||||
|
||||
PGENERIC_LIST_ENTRY
|
||||
GetCurrentListEntry(
|
||||
PGENERIC_LIST List)
|
||||
{
|
||||
return List->CurrentEntry;
|
||||
}
|
||||
|
||||
|
||||
PGENERIC_LIST_ENTRY
|
||||
GetFirstListEntry(
|
||||
PGENERIC_LIST List)
|
||||
{
|
||||
PLIST_ENTRY Entry = List->ListHead.Flink;
|
||||
|
||||
if (Entry == &List->ListHead)
|
||||
return NULL;
|
||||
return CONTAINING_RECORD(Entry, GENERIC_LIST_ENTRY, Entry);
|
||||
}
|
||||
|
||||
|
||||
PGENERIC_LIST_ENTRY
|
||||
GetNextListEntry(
|
||||
PGENERIC_LIST_ENTRY Entry)
|
||||
{
|
||||
PLIST_ENTRY Next = Entry->Entry.Flink;
|
||||
|
||||
if (Next == &Entry->List->ListHead)
|
||||
return NULL;
|
||||
return CONTAINING_RECORD(Next, GENERIC_LIST_ENTRY, Entry);
|
||||
}
|
||||
|
||||
|
||||
PVOID
|
||||
GetListEntryUserData(
|
||||
PGENERIC_LIST_ENTRY List)
|
||||
{
|
||||
return List->UserData;
|
||||
}
|
||||
|
||||
|
||||
LPCSTR
|
||||
GetListEntryText(
|
||||
PGENERIC_LIST_ENTRY List)
|
||||
{
|
||||
return List->Text;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
GenericListKeyPress(
|
||||
PGENERIC_LIST GenericList,
|
||||
CHAR AsciiChar)
|
||||
{
|
||||
PGENERIC_LIST_ENTRY ListEntry;
|
||||
PGENERIC_LIST_ENTRY OldListEntry;
|
||||
BOOLEAN Flag = FALSE;
|
||||
|
||||
ListEntry = GenericList->CurrentEntry;
|
||||
OldListEntry = GenericList->CurrentEntry;
|
||||
|
||||
GenericList->Redraw = FALSE;
|
||||
|
||||
if ((strlen(ListEntry->Text) > 0) && (tolower(ListEntry->Text[0]) == AsciiChar) &&
|
||||
(GenericList->CurrentEntry->Entry.Flink != &GenericList->ListHead))
|
||||
{
|
||||
ScrollDownGenericList(GenericList);
|
||||
ListEntry = GenericList->CurrentEntry;
|
||||
|
||||
if ((strlen(ListEntry->Text) > 0) && (tolower(ListEntry->Text[0]) == AsciiChar))
|
||||
goto End;
|
||||
}
|
||||
|
||||
while (GenericList->CurrentEntry->Entry.Blink != &GenericList->ListHead)
|
||||
ScrollUpGenericList(GenericList);
|
||||
|
||||
ListEntry = GenericList->CurrentEntry;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
if ((strlen(ListEntry->Text) > 0) && (tolower(ListEntry->Text[0]) == AsciiChar))
|
||||
{
|
||||
Flag = TRUE;
|
||||
break;
|
||||
}
|
||||
|
||||
if (GenericList->CurrentEntry->Entry.Flink == &GenericList->ListHead)
|
||||
break;
|
||||
|
||||
ScrollDownGenericList(GenericList);
|
||||
ListEntry = GenericList->CurrentEntry;
|
||||
}
|
||||
|
||||
if (!Flag)
|
||||
{
|
||||
while (GenericList->CurrentEntry->Entry.Blink != &GenericList->ListHead)
|
||||
{
|
||||
if (GenericList->CurrentEntry != OldListEntry)
|
||||
ScrollUpGenericList(GenericList);
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
End:
|
||||
DrawListEntries(GenericList);
|
||||
DrawScrollBarGenericList(GenericList);
|
||||
|
||||
GenericList->Redraw = TRUE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
SaveGenericListState(
|
||||
PGENERIC_LIST List)
|
||||
{
|
||||
List->BackupEntry = List->CurrentEntry;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
RestoreGenericListState(
|
||||
PGENERIC_LIST List)
|
||||
{
|
||||
List->CurrentEntry = List->BackupEntry;
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
GenericListHasSingleEntry(
|
||||
PGENERIC_LIST List)
|
||||
{
|
||||
if (!IsListEmpty(&List->ListHead) && List->ListHead.Flink == List->ListHead.Blink)
|
||||
return TRUE;
|
||||
|
||||
/* if both list head pointers (which normally point to the first and last list member, respectively)
|
||||
point to the same entry then it means that there's just a single thing in there, otherwise... false! */
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* EOF */
|
124
base/setup/usetup/genlist.h
Normal file
124
base/setup/usetup/genlist.h
Normal file
|
@ -0,0 +1,124 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2004 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/genlist.h
|
||||
* PURPOSE: Generic list functions
|
||||
* PROGRAMMER: Eric Kohl
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
struct _GENERIC_LIST_ENTRY;
|
||||
typedef struct _GENERIC_LIST_ENTRY *PGENERIC_LIST_ENTRY;
|
||||
struct _GENERIC_LIST;
|
||||
typedef struct _GENERIC_LIST *PGENERIC_LIST;
|
||||
|
||||
PGENERIC_LIST
|
||||
CreateGenericList(VOID);
|
||||
|
||||
VOID
|
||||
DestroyGenericList(
|
||||
PGENERIC_LIST List,
|
||||
BOOLEAN FreeUserData);
|
||||
|
||||
BOOLEAN
|
||||
AppendGenericListEntry(
|
||||
PGENERIC_LIST List,
|
||||
PCHAR Text,
|
||||
PVOID UserData,
|
||||
BOOLEAN Current);
|
||||
|
||||
VOID
|
||||
DrawGenericList(
|
||||
PGENERIC_LIST List,
|
||||
SHORT Left,
|
||||
SHORT Top,
|
||||
SHORT Right,
|
||||
SHORT Bottom);
|
||||
|
||||
VOID
|
||||
ScrollDownGenericList(
|
||||
PGENERIC_LIST List);
|
||||
|
||||
VOID
|
||||
ScrollUpGenericList(
|
||||
PGENERIC_LIST List);
|
||||
|
||||
VOID
|
||||
ScrollPageDownGenericList(
|
||||
PGENERIC_LIST List);
|
||||
|
||||
VOID
|
||||
ScrollPageUpGenericList(
|
||||
PGENERIC_LIST List);
|
||||
|
||||
VOID
|
||||
ScrollToPositionGenericList(
|
||||
PGENERIC_LIST List,
|
||||
ULONG uIndex);
|
||||
|
||||
VOID
|
||||
RedrawGenericList(
|
||||
PGENERIC_LIST List);
|
||||
|
||||
VOID
|
||||
SetCurrentListEntry(
|
||||
PGENERIC_LIST List,
|
||||
PGENERIC_LIST_ENTRY Entry);
|
||||
|
||||
PGENERIC_LIST_ENTRY
|
||||
GetCurrentListEntry(
|
||||
PGENERIC_LIST List);
|
||||
|
||||
PGENERIC_LIST_ENTRY
|
||||
GetFirstListEntry(
|
||||
PGENERIC_LIST List);
|
||||
|
||||
PGENERIC_LIST_ENTRY
|
||||
GetNextListEntry(
|
||||
PGENERIC_LIST_ENTRY Entry);
|
||||
|
||||
PVOID
|
||||
GetListEntryUserData(
|
||||
PGENERIC_LIST_ENTRY List);
|
||||
|
||||
LPCSTR
|
||||
GetListEntryText(
|
||||
PGENERIC_LIST_ENTRY List);
|
||||
|
||||
VOID
|
||||
SaveGenericListState(
|
||||
PGENERIC_LIST List);
|
||||
|
||||
VOID
|
||||
RestoreGenericListState(
|
||||
PGENERIC_LIST List);
|
||||
|
||||
VOID
|
||||
GenericListKeyPress(
|
||||
PGENERIC_LIST List,
|
||||
CHAR AsciChar);
|
||||
|
||||
BOOL
|
||||
GenericListHasSingleEntry(
|
||||
PGENERIC_LIST List);
|
||||
|
||||
/* EOF */
|
31
base/setup/usetup/host.h
Normal file
31
base/setup/usetup/host.h
Normal file
|
@ -0,0 +1,31 @@
|
|||
#ifdef __REACTOS__
|
||||
|
||||
#include "native/host_native.h"
|
||||
#define HOST_InitConsole NATIVE_InitConsole
|
||||
#define HOST_InitMemory NATIVE_InitMemory
|
||||
#define HOST_CreateFileSystemList NATIVE_CreateFileSystemList
|
||||
|
||||
#else
|
||||
|
||||
#include "win32/host_win32.h"
|
||||
#define HOST_InitConsole WIN32_InitConsole
|
||||
#define HOST_InitMemory WIN32_InitMemory
|
||||
#define HOST_CreateFileSystemList WIN32_CreateFileSystemList
|
||||
|
||||
#endif
|
||||
|
||||
BOOLEAN
|
||||
HOST_InitConsole(VOID);
|
||||
|
||||
BOOLEAN
|
||||
HOST_InitMemory(VOID);
|
||||
|
||||
BOOLEAN
|
||||
HOST_CreateFileSystemList(
|
||||
IN PFILE_SYSTEM_LIST List);
|
||||
|
||||
BOOLEAN
|
||||
HOST_FormatPartition(
|
||||
IN PFILE_SYSTEM_ITEM FileSystem,
|
||||
IN PCUNICODE_STRING DriveRoot,
|
||||
IN PFMIFSCALLBACK Callback);
|
214
base/setup/usetup/inffile.c
Normal file
214
base/setup/usetup/inffile.c
Normal file
|
@ -0,0 +1,214 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2002 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/inffile.c
|
||||
* PURPOSE: .inf files support functions
|
||||
* PROGRAMMER: Hervé Poussineau
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include "usetup.h"
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
#ifdef __REACTOS__
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
InfpFindFirstLineW(
|
||||
IN HINF InfHandle,
|
||||
IN PCWSTR Section,
|
||||
IN PCWSTR Key,
|
||||
IN OUT PINFCONTEXT Context)
|
||||
{
|
||||
PINFCONTEXT pContext;
|
||||
BOOL ret;
|
||||
|
||||
ret = InfFindFirstLine(InfHandle, Section, Key, &pContext);
|
||||
if (!ret)
|
||||
return FALSE;
|
||||
|
||||
memcpy(Context, pContext, sizeof(INFCONTEXT));
|
||||
InfFreeContext(pContext);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
HINF
|
||||
WINAPI
|
||||
InfpOpenInfFileW(
|
||||
IN PCWSTR FileName,
|
||||
IN PCWSTR InfClass,
|
||||
IN DWORD InfStyle,
|
||||
IN LCID LocaleId,
|
||||
OUT PUINT ErrorLine)
|
||||
{
|
||||
HINF hInf = NULL;
|
||||
UNICODE_STRING FileNameU;
|
||||
ULONG ErrorLineUL;
|
||||
NTSTATUS Status;
|
||||
|
||||
RtlInitUnicodeString(&FileNameU, FileName);
|
||||
Status = InfOpenFile(&hInf,
|
||||
&FileNameU,
|
||||
LANGIDFROMLCID(LocaleId),
|
||||
&ErrorLineUL);
|
||||
*ErrorLine = (UINT)ErrorLineUL;
|
||||
if (!NT_SUCCESS(Status))
|
||||
return INVALID_HANDLE_VALUE;
|
||||
|
||||
return hInf;
|
||||
}
|
||||
#endif /* __REACTOS__ */
|
||||
|
||||
|
||||
BOOLEAN
|
||||
INF_GetData(
|
||||
IN PINFCONTEXT Context,
|
||||
OUT PWCHAR *Key,
|
||||
OUT PWCHAR *Data)
|
||||
{
|
||||
#ifdef __REACTOS__
|
||||
return InfGetData(Context, Key, Data);
|
||||
#else
|
||||
static PWCHAR pLastCallData[4] = { NULL, NULL, NULL, NULL };
|
||||
static DWORD currentIndex = 0;
|
||||
DWORD dwSize, i;
|
||||
BOOL ret;
|
||||
|
||||
currentIndex ^= 2;
|
||||
|
||||
if (Key)
|
||||
*Key = NULL;
|
||||
|
||||
if (Data)
|
||||
*Data = NULL;
|
||||
|
||||
if (SetupGetFieldCount(Context) != 1)
|
||||
return FALSE;
|
||||
|
||||
for (i = 0; i <= 1; i++)
|
||||
{
|
||||
ret = SetupGetStringFieldW(Context,
|
||||
i,
|
||||
NULL,
|
||||
0,
|
||||
&dwSize);
|
||||
if (!ret)
|
||||
return FALSE;
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, pLastCallData[i + currentIndex]);
|
||||
pLastCallData[i + currentIndex] = HeapAlloc(GetProcessHeap(), 0, dwSize * sizeof(WCHAR));
|
||||
ret = SetupGetStringFieldW(Context,
|
||||
i,
|
||||
pLastCallData[i + currentIndex],
|
||||
dwSize,
|
||||
NULL);
|
||||
if (!ret)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (Key)
|
||||
*Key = pLastCallData[0 + currentIndex];
|
||||
|
||||
if (Data)
|
||||
*Data = pLastCallData[1 + currentIndex];
|
||||
|
||||
return TRUE;
|
||||
#endif /* !__REACTOS__ */
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
INF_GetDataField(
|
||||
IN PINFCONTEXT Context,
|
||||
IN ULONG FieldIndex,
|
||||
OUT PWCHAR *Data)
|
||||
{
|
||||
#ifdef __REACTOS__
|
||||
return InfGetDataField(Context, FieldIndex, Data);
|
||||
#else
|
||||
static PWCHAR pLastCallsData[] = { NULL, NULL, NULL };
|
||||
static DWORD NextIndex = 0;
|
||||
DWORD dwSize;
|
||||
BOOL ret;
|
||||
|
||||
*Data = NULL;
|
||||
|
||||
ret = SetupGetStringFieldW(Context,
|
||||
FieldIndex,
|
||||
NULL,
|
||||
0,
|
||||
&dwSize);
|
||||
if (!ret)
|
||||
return FALSE;
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, pLastCallsData[NextIndex]);
|
||||
pLastCallsData[NextIndex] = HeapAlloc(GetProcessHeap(), 0, dwSize * sizeof(WCHAR));
|
||||
ret = SetupGetStringFieldW(Context,
|
||||
FieldIndex,
|
||||
pLastCallsData[NextIndex],
|
||||
dwSize,
|
||||
NULL);
|
||||
if (!ret)
|
||||
return FALSE;
|
||||
|
||||
*Data = pLastCallsData[NextIndex];
|
||||
NextIndex = (NextIndex + 1) % (sizeof(pLastCallsData) / sizeof(pLastCallsData[0]));
|
||||
return TRUE;
|
||||
#endif /* !__REACTOS__ */
|
||||
}
|
||||
|
||||
|
||||
HINF WINAPI
|
||||
INF_OpenBufferedFileA(
|
||||
IN PSTR FileBuffer,
|
||||
IN ULONG FileSize,
|
||||
IN PCSTR InfClass,
|
||||
IN DWORD InfStyle,
|
||||
IN LCID LocaleId,
|
||||
OUT PUINT ErrorLine)
|
||||
{
|
||||
#ifdef __REACTOS__
|
||||
HINF hInf = NULL;
|
||||
ULONG ErrorLineUL;
|
||||
NTSTATUS Status;
|
||||
|
||||
Status = InfOpenBufferedFile(&hInf,
|
||||
FileBuffer,
|
||||
FileSize,
|
||||
LANGIDFROMLCID(LocaleId),
|
||||
&ErrorLineUL);
|
||||
*ErrorLine = (UINT)ErrorLineUL;
|
||||
if (!NT_SUCCESS(Status))
|
||||
return INVALID_HANDLE_VALUE;
|
||||
|
||||
return hInf;
|
||||
#else
|
||||
return INVALID_HANDLE_VALUE;
|
||||
#endif /* !__REACTOS__ */
|
||||
}
|
||||
|
||||
/* EOF */
|
95
base/setup/usetup/inffile.h
Normal file
95
base/setup/usetup/inffile.h
Normal file
|
@ -0,0 +1,95 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2002 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/inffile.h
|
||||
* PURPOSE: .inf files support functions
|
||||
* PROGRAMMER: Hervé Poussineau
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef __REACTOS__
|
||||
|
||||
#include <setupapi.h>
|
||||
|
||||
#else /* __REACTOS__ */
|
||||
|
||||
#include <infcommon.h>
|
||||
|
||||
#define SetupFindFirstLineW InfpFindFirstLineW
|
||||
#define SetupGetFieldCount InfGetFieldCount
|
||||
#define SetupGetIntField InfGetIntField
|
||||
#define SetupOpenInfFileW InfpOpenInfFileW
|
||||
|
||||
#define INF_STYLE_WIN4 0x00000002
|
||||
|
||||
/* FIXME: this structure is the one used in inflib, not in setupapi
|
||||
* Delete it once we don't use inflib anymore */
|
||||
typedef struct _INFCONTEXT
|
||||
{
|
||||
HINF Inf;
|
||||
HINF CurrentInf;
|
||||
UINT Section;
|
||||
UINT Line;
|
||||
} INFCONTEXT;
|
||||
C_ASSERT(sizeof(INFCONTEXT) == 2 * sizeof(PVOID) + 2 * sizeof(UINT));
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
InfpFindFirstLineW(
|
||||
IN HINF InfHandle,
|
||||
IN PCWSTR Section,
|
||||
IN PCWSTR Key,
|
||||
IN OUT PINFCONTEXT Context);
|
||||
|
||||
HINF
|
||||
WINAPI
|
||||
InfpOpenInfFileW(
|
||||
IN PCWSTR FileName,
|
||||
IN PCWSTR InfClass,
|
||||
IN DWORD InfStyle,
|
||||
IN LCID LocaleId,
|
||||
OUT PUINT ErrorLine);
|
||||
|
||||
#endif /* __REACTOS__ */
|
||||
|
||||
BOOLEAN
|
||||
INF_GetData(
|
||||
IN PINFCONTEXT Context,
|
||||
OUT PWCHAR *Key,
|
||||
OUT PWCHAR *Data);
|
||||
|
||||
BOOLEAN
|
||||
INF_GetDataField(
|
||||
IN PINFCONTEXT Context,
|
||||
IN ULONG FieldIndex,
|
||||
OUT PWCHAR *Data);
|
||||
|
||||
HINF WINAPI
|
||||
INF_OpenBufferedFileA(
|
||||
IN PSTR FileBuffer,
|
||||
IN ULONG FileSize,
|
||||
IN PCSTR InfClass,
|
||||
IN DWORD InfStyle,
|
||||
IN LCID LocaleId,
|
||||
OUT PUINT ErrorLine);
|
||||
|
||||
/* EOF */
|
1118
base/setup/usetup/inicache.c
Normal file
1118
base/setup/usetup/inicache.c
Normal file
File diff suppressed because it is too large
Load diff
135
base/setup/usetup/inicache.h
Normal file
135
base/setup/usetup/inicache.h
Normal file
|
@ -0,0 +1,135 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2002 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/inicache.h
|
||||
* PURPOSE: INI file parser that caches contents of INI file in memory
|
||||
* PROGRAMMER: Royce Mitchell III
|
||||
* Eric Kohl
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
typedef struct _INICACHEKEY
|
||||
{
|
||||
PWCHAR Name;
|
||||
PWCHAR Data;
|
||||
|
||||
struct _INICACHEKEY *Next;
|
||||
struct _INICACHEKEY *Prev;
|
||||
} INICACHEKEY, *PINICACHEKEY;
|
||||
|
||||
|
||||
typedef struct _INICACHESECTION
|
||||
{
|
||||
PWCHAR Name;
|
||||
|
||||
PINICACHEKEY FirstKey;
|
||||
PINICACHEKEY LastKey;
|
||||
|
||||
struct _INICACHESECTION *Next;
|
||||
struct _INICACHESECTION *Prev;
|
||||
} INICACHESECTION, *PINICACHESECTION;
|
||||
|
||||
|
||||
typedef struct _INICACHE
|
||||
{
|
||||
PINICACHESECTION FirstSection;
|
||||
PINICACHESECTION LastSection;
|
||||
} INICACHE, *PINICACHE;
|
||||
|
||||
|
||||
typedef struct _PINICACHEITERATOR
|
||||
{
|
||||
PINICACHESECTION Section;
|
||||
PINICACHEKEY Key;
|
||||
} INICACHEITERATOR, *PINICACHEITERATOR;
|
||||
|
||||
|
||||
typedef enum
|
||||
{
|
||||
INSERT_FIRST,
|
||||
INSERT_BEFORE,
|
||||
INSERT_AFTER,
|
||||
INSERT_LAST
|
||||
} INSERTION_TYPE;
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
NTSTATUS
|
||||
IniCacheLoad(
|
||||
PINICACHE *Cache,
|
||||
PWCHAR FileName,
|
||||
BOOLEAN String);
|
||||
|
||||
VOID
|
||||
IniCacheDestroy(
|
||||
PINICACHE Cache);
|
||||
|
||||
PINICACHESECTION
|
||||
IniCacheGetSection(
|
||||
PINICACHE Cache,
|
||||
PWCHAR Name);
|
||||
|
||||
NTSTATUS
|
||||
IniCacheGetKey(
|
||||
PINICACHESECTION Section,
|
||||
PWCHAR KeyName,
|
||||
PWCHAR *KeyData);
|
||||
|
||||
PINICACHEITERATOR
|
||||
IniCacheFindFirstValue(
|
||||
PINICACHESECTION Section,
|
||||
PWCHAR *KeyName,
|
||||
PWCHAR *KeyData);
|
||||
|
||||
BOOLEAN
|
||||
IniCacheFindNextValue(
|
||||
PINICACHEITERATOR Iterator,
|
||||
PWCHAR *KeyName,
|
||||
PWCHAR *KeyData);
|
||||
|
||||
VOID
|
||||
IniCacheFindClose(
|
||||
PINICACHEITERATOR Iterator);
|
||||
|
||||
|
||||
PINICACHEKEY
|
||||
IniCacheInsertKey(
|
||||
PINICACHESECTION Section,
|
||||
PINICACHEKEY AnchorKey,
|
||||
INSERTION_TYPE InsertionType,
|
||||
PWCHAR Name,
|
||||
PWCHAR Data);
|
||||
|
||||
PINICACHE
|
||||
IniCacheCreate(VOID);
|
||||
|
||||
NTSTATUS
|
||||
IniCacheSave(
|
||||
PINICACHE Cache,
|
||||
PWCHAR FileName);
|
||||
|
||||
PINICACHESECTION
|
||||
IniCacheAppendSection(
|
||||
PINICACHE Cache,
|
||||
PWCHAR Name);
|
||||
|
||||
/* EOF */
|
794
base/setup/usetup/interface/consup.c
Normal file
794
base/setup/usetup/interface/consup.c
Normal file
|
@ -0,0 +1,794 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2002 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/interface/consup.c
|
||||
* PURPOSE: Console support functions
|
||||
* PROGRAMMER: Eric Kohl
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <usetup.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ******************************************************************/
|
||||
|
||||
HANDLE StdInput = INVALID_HANDLE_VALUE;
|
||||
HANDLE StdOutput = INVALID_HANDLE_VALUE;
|
||||
|
||||
SHORT xScreen = 0;
|
||||
SHORT yScreen = 0;
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
BOOLEAN
|
||||
CONSOLE_Init(
|
||||
VOID)
|
||||
{
|
||||
CONSOLE_SCREEN_BUFFER_INFO csbi;
|
||||
if (!HOST_InitConsole())
|
||||
return FALSE;
|
||||
|
||||
StdInput = GetStdHandle(STD_INPUT_HANDLE);
|
||||
StdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
if (!GetConsoleScreenBufferInfo(StdOutput, &csbi))
|
||||
return FALSE;
|
||||
xScreen = csbi.dwSize.X;
|
||||
yScreen = 50;//csbi.dwSize.Y;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_ConInKey(
|
||||
OUT PINPUT_RECORD Buffer)
|
||||
{
|
||||
DWORD Read;
|
||||
|
||||
while (TRUE)
|
||||
{
|
||||
ReadConsoleInput(StdInput, Buffer, 1, &Read);
|
||||
|
||||
if ((Buffer->EventType == KEY_EVENT)
|
||||
&& (Buffer->Event.KeyEvent.bKeyDown != FALSE))
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_ConOutChar(
|
||||
IN CHAR c)
|
||||
{
|
||||
DWORD Written;
|
||||
|
||||
WriteConsole(
|
||||
StdOutput,
|
||||
&c,
|
||||
1,
|
||||
&Written,
|
||||
NULL);
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_ConOutPuts(
|
||||
IN LPCSTR szText)
|
||||
{
|
||||
DWORD Written;
|
||||
|
||||
WriteConsole(
|
||||
StdOutput,
|
||||
szText,
|
||||
(ULONG)strlen(szText),
|
||||
&Written,
|
||||
NULL);
|
||||
WriteConsole(
|
||||
StdOutput,
|
||||
"\n",
|
||||
1,
|
||||
&Written,
|
||||
NULL);
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_ConOutPrintf(
|
||||
IN LPCSTR szFormat, ...)
|
||||
{
|
||||
CHAR szOut[256];
|
||||
DWORD dwWritten;
|
||||
va_list arg_ptr;
|
||||
|
||||
va_start(arg_ptr, szFormat);
|
||||
vsprintf(szOut, szFormat, arg_ptr);
|
||||
va_end(arg_ptr);
|
||||
|
||||
WriteConsole(
|
||||
StdOutput,
|
||||
szOut,
|
||||
(ULONG)strlen(szOut),
|
||||
&dwWritten,
|
||||
NULL);
|
||||
}
|
||||
|
||||
BOOL
|
||||
CONSOLE_Flush(VOID)
|
||||
{
|
||||
return FlushConsoleInputBuffer(StdInput);
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_GetCursorXY(
|
||||
PSHORT x,
|
||||
PSHORT y)
|
||||
{
|
||||
CONSOLE_SCREEN_BUFFER_INFO csbi;
|
||||
|
||||
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi);
|
||||
|
||||
*x = csbi.dwCursorPosition.X;
|
||||
*y = csbi.dwCursorPosition.Y;
|
||||
}
|
||||
|
||||
SHORT
|
||||
CONSOLE_GetCursorX(VOID)
|
||||
{
|
||||
CONSOLE_SCREEN_BUFFER_INFO csbi;
|
||||
|
||||
GetConsoleScreenBufferInfo(StdOutput, &csbi);
|
||||
|
||||
return csbi.dwCursorPosition.X;
|
||||
}
|
||||
|
||||
SHORT
|
||||
CONSOLE_GetCursorY(VOID)
|
||||
{
|
||||
CONSOLE_SCREEN_BUFFER_INFO csbi;
|
||||
|
||||
GetConsoleScreenBufferInfo(StdOutput, &csbi);
|
||||
|
||||
return csbi.dwCursorPosition.Y;
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_SetCursorType(
|
||||
IN BOOL bInsert,
|
||||
IN BOOL bVisible)
|
||||
{
|
||||
CONSOLE_CURSOR_INFO cci;
|
||||
|
||||
cci.dwSize = bInsert ? 10 : 99;
|
||||
cci.bVisible = bVisible;
|
||||
|
||||
SetConsoleCursorInfo(StdOutput, &cci);
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_SetCursorXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y)
|
||||
{
|
||||
COORD coPos;
|
||||
|
||||
coPos.X = x;
|
||||
coPos.Y = y;
|
||||
SetConsoleCursorPosition(StdOutput, coPos);
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_ClearScreen(VOID)
|
||||
{
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
|
||||
coPos.X = 0;
|
||||
coPos.Y = 0;
|
||||
|
||||
FillConsoleOutputAttribute(
|
||||
StdOutput,
|
||||
FOREGROUND_WHITE | BACKGROUND_BLUE,
|
||||
xScreen * yScreen,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
FillConsoleOutputCharacterA(
|
||||
StdOutput,
|
||||
' ',
|
||||
xScreen * yScreen,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_InvertTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN SHORT col,
|
||||
IN SHORT row)
|
||||
{
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
|
||||
for (coPos.Y = y; coPos.Y < y + row; coPos.Y++)
|
||||
{
|
||||
coPos.X = x;
|
||||
|
||||
FillConsoleOutputAttribute(
|
||||
StdOutput,
|
||||
FOREGROUND_BLUE | BACKGROUND_WHITE,
|
||||
col,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_NormalTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN SHORT col,
|
||||
IN SHORT row)
|
||||
{
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
|
||||
for (coPos.Y = y; coPos.Y < y + row; coPos.Y++)
|
||||
{
|
||||
coPos.X = x;
|
||||
|
||||
FillConsoleOutputAttribute(
|
||||
StdOutput,
|
||||
FOREGROUND_WHITE | BACKGROUND_BLUE,
|
||||
col,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_SetTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN LPCSTR Text)
|
||||
{
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
|
||||
coPos.X = x;
|
||||
coPos.Y = y;
|
||||
|
||||
WriteConsoleOutputCharacterA(
|
||||
StdOutput,
|
||||
Text,
|
||||
(ULONG)strlen(Text),
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
static
|
||||
VOID
|
||||
CONSOLE_ClearTextXY(IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN SHORT Length)
|
||||
{
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
|
||||
coPos.X = x;
|
||||
coPos.Y = y;
|
||||
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
' ',
|
||||
Length,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_SetInputTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN SHORT len,
|
||||
IN LPCWSTR Text)
|
||||
{
|
||||
COORD coPos;
|
||||
SHORT Length;
|
||||
DWORD Written;
|
||||
|
||||
coPos.X = x;
|
||||
coPos.Y = y;
|
||||
|
||||
Length = (SHORT)wcslen(Text);
|
||||
if (Length > len - 1)
|
||||
Length = len - 1;
|
||||
|
||||
FillConsoleOutputAttribute(
|
||||
StdOutput,
|
||||
BACKGROUND_WHITE,
|
||||
len,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
WriteConsoleOutputCharacterW(
|
||||
StdOutput,
|
||||
Text,
|
||||
(ULONG)Length,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
coPos.X += Length;
|
||||
FillConsoleOutputCharacterA(
|
||||
StdOutput,
|
||||
'_',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
if (len > Length + 1)
|
||||
{
|
||||
coPos.X++;
|
||||
FillConsoleOutputCharacterA(
|
||||
StdOutput,
|
||||
' ',
|
||||
len - Length - 1,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_SetUnderlinedTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN LPCSTR Text)
|
||||
{
|
||||
COORD coPos;
|
||||
DWORD Length;
|
||||
DWORD Written;
|
||||
|
||||
coPos.X = x;
|
||||
coPos.Y = y;
|
||||
|
||||
Length = (ULONG)strlen(Text);
|
||||
|
||||
WriteConsoleOutputCharacterA(
|
||||
StdOutput,
|
||||
Text,
|
||||
Length,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
coPos.Y++;
|
||||
FillConsoleOutputCharacterA(
|
||||
StdOutput,
|
||||
0xCD,
|
||||
Length,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_SetStatusText(
|
||||
IN LPCSTR fmt, ...)
|
||||
{
|
||||
CHAR Buffer[128];
|
||||
va_list ap;
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
|
||||
va_start(ap, fmt);
|
||||
vsprintf(Buffer, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
coPos.X = 0;
|
||||
coPos.Y = yScreen - 1;
|
||||
|
||||
FillConsoleOutputAttribute(
|
||||
StdOutput,
|
||||
BACKGROUND_WHITE,
|
||||
xScreen,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
FillConsoleOutputCharacterA(
|
||||
StdOutput,
|
||||
' ',
|
||||
xScreen,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
WriteConsoleOutputCharacterA(
|
||||
StdOutput,
|
||||
Buffer,
|
||||
(ULONG)strlen(Buffer),
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_SetStatusTextX(
|
||||
IN SHORT x,
|
||||
IN LPCSTR fmt, ...)
|
||||
{
|
||||
CHAR Buffer[128];
|
||||
va_list ap;
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
|
||||
va_start(ap, fmt);
|
||||
vsprintf(Buffer, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
coPos.X = 0;
|
||||
coPos.Y = yScreen - 1;
|
||||
|
||||
FillConsoleOutputAttribute(
|
||||
StdOutput,
|
||||
BACKGROUND_WHITE,
|
||||
xScreen,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
FillConsoleOutputCharacterA(
|
||||
StdOutput,
|
||||
' ',
|
||||
xScreen,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
coPos.X = x;
|
||||
|
||||
WriteConsoleOutputCharacterA(
|
||||
StdOutput,
|
||||
Buffer,
|
||||
(ULONG)strlen(Buffer),
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
static
|
||||
VOID
|
||||
CONSOLE_ClearStatusTextX(IN SHORT x,
|
||||
IN SHORT Length)
|
||||
{
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
|
||||
coPos.X = x;
|
||||
coPos.Y = yScreen - 1;
|
||||
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
' ',
|
||||
Length,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
CONSOLE_SetStatusTextAutoFitX(
|
||||
IN SHORT x,
|
||||
IN LPCSTR fmt, ...)
|
||||
{
|
||||
CHAR Buffer[128];
|
||||
DWORD Length;
|
||||
va_list ap;
|
||||
|
||||
va_start(ap, fmt);
|
||||
vsprintf(Buffer, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
Length = (ULONG)strlen(Buffer);
|
||||
|
||||
if (Length + x <= 79)
|
||||
{
|
||||
CONSOLE_SetStatusTextX (x , Buffer);
|
||||
}
|
||||
else
|
||||
{
|
||||
CONSOLE_SetStatusTextX (79 - Length , Buffer);
|
||||
}
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_SetInvertedTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN LPCSTR Text)
|
||||
{
|
||||
COORD coPos;
|
||||
DWORD Length;
|
||||
DWORD Written;
|
||||
|
||||
coPos.X = x;
|
||||
coPos.Y = y;
|
||||
|
||||
Length = (ULONG)strlen(Text);
|
||||
|
||||
FillConsoleOutputAttribute(
|
||||
StdOutput,
|
||||
FOREGROUND_BLUE | BACKGROUND_WHITE,
|
||||
Length,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
WriteConsoleOutputCharacterA(
|
||||
StdOutput,
|
||||
Text,
|
||||
Length,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_SetHighlightedTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN LPCSTR Text)
|
||||
{
|
||||
COORD coPos;
|
||||
DWORD Length;
|
||||
DWORD Written;
|
||||
|
||||
coPos.X = x;
|
||||
coPos.Y = y;
|
||||
|
||||
Length = (ULONG)strlen(Text);
|
||||
|
||||
FillConsoleOutputAttribute(
|
||||
StdOutput,
|
||||
FOREGROUND_WHITE | FOREGROUND_INTENSITY | BACKGROUND_BLUE,
|
||||
Length,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
WriteConsoleOutputCharacterA(
|
||||
StdOutput,
|
||||
Text,
|
||||
Length,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_PrintTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN LPCSTR fmt, ...)
|
||||
{
|
||||
CHAR buffer[512];
|
||||
va_list ap;
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
|
||||
va_start(ap, fmt);
|
||||
vsprintf(buffer, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
coPos.X = x;
|
||||
coPos.Y = y;
|
||||
|
||||
WriteConsoleOutputCharacterA(
|
||||
StdOutput,
|
||||
buffer,
|
||||
(ULONG)strlen(buffer),
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_PrintTextXYN(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN SHORT len,
|
||||
IN LPCSTR fmt, ...)
|
||||
{
|
||||
CHAR buffer[512];
|
||||
va_list ap;
|
||||
COORD coPos;
|
||||
SHORT Length;
|
||||
DWORD Written;
|
||||
|
||||
va_start(ap, fmt);
|
||||
vsprintf(buffer, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
coPos.X = x;
|
||||
coPos.Y = y;
|
||||
|
||||
Length = (SHORT)strlen(buffer);
|
||||
if (Length > len - 1)
|
||||
Length = len - 1;
|
||||
|
||||
WriteConsoleOutputCharacterA(
|
||||
StdOutput,
|
||||
buffer,
|
||||
Length,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
coPos.X += Length;
|
||||
|
||||
if (len > Length)
|
||||
{
|
||||
FillConsoleOutputCharacterA(
|
||||
StdOutput,
|
||||
' ',
|
||||
len - Length,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
}
|
||||
|
||||
VOID
|
||||
CONSOLE_SetStyledText(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN INT Flags,
|
||||
IN LPCSTR Text)
|
||||
{
|
||||
COORD coPos;
|
||||
DWORD Length;
|
||||
|
||||
coPos.X = x;
|
||||
coPos.Y = y;
|
||||
|
||||
Length = (ULONG)strlen(Text);
|
||||
|
||||
if (Flags & TEXT_TYPE_STATUS)
|
||||
{
|
||||
coPos.X = x;
|
||||
coPos.Y = yScreen - 1;
|
||||
}
|
||||
else /* TEXT_TYPE_REGULAR (Default) */
|
||||
{
|
||||
coPos.X = x;
|
||||
coPos.Y = y;
|
||||
}
|
||||
|
||||
if (Flags & TEXT_ALIGN_CENTER)
|
||||
{
|
||||
coPos.X = (xScreen - Length) /2;
|
||||
}
|
||||
else if(Flags & TEXT_ALIGN_RIGHT)
|
||||
{
|
||||
coPos.X = coPos.X - Length;
|
||||
|
||||
if (Flags & TEXT_PADDING_SMALL)
|
||||
{
|
||||
coPos.X -= 1;
|
||||
}
|
||||
else if (Flags & TEXT_PADDING_MEDIUM)
|
||||
{
|
||||
coPos.X -= 2;
|
||||
}
|
||||
else if (Flags & TEXT_PADDING_BIG)
|
||||
{
|
||||
coPos.X -= 3;
|
||||
}
|
||||
}
|
||||
else /* TEXT_ALIGN_LEFT (Default) */
|
||||
{
|
||||
if (Flags & TEXT_PADDING_SMALL)
|
||||
{
|
||||
coPos.X += 1;
|
||||
}
|
||||
else if (Flags & TEXT_PADDING_MEDIUM)
|
||||
{
|
||||
coPos.X += 2;
|
||||
}
|
||||
else if (Flags & TEXT_PADDING_BIG)
|
||||
{
|
||||
coPos.X += 3;
|
||||
}
|
||||
}
|
||||
|
||||
if (Flags & TEXT_TYPE_STATUS)
|
||||
{
|
||||
CONSOLE_SetStatusTextX(coPos.X, Text);
|
||||
}
|
||||
else /* TEXT_TYPE_REGULAR (Default) */
|
||||
{
|
||||
if (Flags & TEXT_STYLE_HIGHLIGHT)
|
||||
{
|
||||
CONSOLE_SetHighlightedTextXY(coPos.X, coPos.Y, Text);
|
||||
}
|
||||
else if (Flags & TEXT_STYLE_UNDERLINE)
|
||||
{
|
||||
CONSOLE_SetUnderlinedTextXY(coPos.X, coPos.Y, Text);
|
||||
}
|
||||
else /* TEXT_STYLE_NORMAL (Default) */
|
||||
{
|
||||
CONSOLE_SetTextXY(coPos.X, coPos.Y, Text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
CONSOLE_ClearStyledText(IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN INT Flags,
|
||||
IN SHORT Length)
|
||||
{
|
||||
COORD coPos;
|
||||
|
||||
coPos.X = x;
|
||||
coPos.Y = y;
|
||||
|
||||
if (Flags & TEXT_TYPE_STATUS)
|
||||
{
|
||||
coPos.X = x;
|
||||
coPos.Y = yScreen - 1;
|
||||
}
|
||||
else /* TEXT_TYPE_REGULAR (Default) */
|
||||
{
|
||||
coPos.X = x;
|
||||
coPos.Y = y;
|
||||
}
|
||||
|
||||
if (Flags & TEXT_ALIGN_CENTER)
|
||||
{
|
||||
coPos.X = (xScreen - Length) /2;
|
||||
}
|
||||
else if(Flags & TEXT_ALIGN_RIGHT)
|
||||
{
|
||||
coPos.X = coPos.X - Length;
|
||||
|
||||
if (Flags & TEXT_PADDING_SMALL)
|
||||
{
|
||||
coPos.X -= 1;
|
||||
}
|
||||
else if (Flags & TEXT_PADDING_MEDIUM)
|
||||
{
|
||||
coPos.X -= 2;
|
||||
}
|
||||
else if (Flags & TEXT_PADDING_BIG)
|
||||
{
|
||||
coPos.X -= 3;
|
||||
}
|
||||
}
|
||||
else /* TEXT_ALIGN_LEFT (Default) */
|
||||
{
|
||||
if (Flags & TEXT_PADDING_SMALL)
|
||||
{
|
||||
coPos.X += 1;
|
||||
}
|
||||
else if (Flags & TEXT_PADDING_MEDIUM)
|
||||
{
|
||||
coPos.X += 2;
|
||||
}
|
||||
else if (Flags & TEXT_PADDING_BIG)
|
||||
{
|
||||
coPos.X += 3;
|
||||
}
|
||||
}
|
||||
|
||||
if (Flags & TEXT_TYPE_STATUS)
|
||||
{
|
||||
CONSOLE_ClearStatusTextX(coPos.X, Length);
|
||||
}
|
||||
else /* TEXT_TYPE_REGULAR (Default) */
|
||||
{
|
||||
CONSOLE_ClearTextXY(coPos.X, coPos.Y, Length);
|
||||
}
|
||||
}
|
||||
|
||||
/* EOF */
|
193
base/setup/usetup/interface/consup.h
Normal file
193
base/setup/usetup/interface/consup.h
Normal file
|
@ -0,0 +1,193 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2002 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/interface/consup.h
|
||||
* PURPOSE: Console support functions
|
||||
* PROGRAMMER: Eric Kohl
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define FOREGROUND_WHITE (FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE)
|
||||
#define FOREGROUND_YELLOW (FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN)
|
||||
#define BACKGROUND_WHITE (BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE)
|
||||
|
||||
/* Text style */
|
||||
#define TEXT_STYLE_NORMAL 0x00000001
|
||||
#define TEXT_STYLE_HIGHLIGHT 0x00000002
|
||||
#define TEXT_STYLE_UNDERLINE 0x00000004
|
||||
|
||||
/* Text type */
|
||||
#define TEXT_TYPE_REGULAR 0x00000008
|
||||
#define TEXT_TYPE_STATUS 0x00000010
|
||||
|
||||
/* Text align */
|
||||
#define TEXT_ALIGN_DEFAULT 0x00000020
|
||||
#define TEXT_ALIGN_RIGHT 0x00000040
|
||||
#define TEXT_ALIGN_LEFT 0x00000080
|
||||
#define TEXT_ALIGN_CENTER 0x00000100
|
||||
|
||||
/* Text padding */
|
||||
#define TEXT_PADDING_SMALL 0x00000200 /* One space */
|
||||
#define TEXT_PADDING_MEDIUM 0x00000400 /* Two spaces */
|
||||
#define TEXT_PADDING_BIG 0x00000800 /* Three spaces */
|
||||
|
||||
extern HANDLE StdInput, StdOutput;
|
||||
extern SHORT xScreen, yScreen;
|
||||
|
||||
BOOLEAN
|
||||
CONSOLE_Init(
|
||||
VOID);
|
||||
|
||||
VOID
|
||||
CONSOLE_ClearScreen(VOID);
|
||||
|
||||
VOID
|
||||
CONSOLE_ConInKey(
|
||||
OUT PINPUT_RECORD Buffer);
|
||||
|
||||
VOID
|
||||
CONSOLE_ConOutChar(
|
||||
IN CHAR c);
|
||||
|
||||
VOID
|
||||
CONSOLE_ConOutPrintf(
|
||||
IN LPCSTR szFormat, ...);
|
||||
|
||||
VOID
|
||||
CONSOLE_ConOutPuts(
|
||||
IN LPCSTR szText);
|
||||
|
||||
BOOL
|
||||
CONSOLE_Flush(VOID);
|
||||
|
||||
VOID
|
||||
CONSOLE_GetCursorXY(
|
||||
PSHORT x,
|
||||
PSHORT y);
|
||||
|
||||
SHORT
|
||||
CONSOLE_GetCursorX(VOID);
|
||||
|
||||
SHORT
|
||||
CONSOLE_GetCursorY(VOID);
|
||||
|
||||
VOID
|
||||
CONSOLE_InvertTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN SHORT col,
|
||||
IN SHORT row);
|
||||
|
||||
VOID
|
||||
CONSOLE_NormalTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN SHORT col,
|
||||
IN SHORT row);
|
||||
|
||||
VOID
|
||||
CONSOLE_PrintTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN LPCSTR fmt, ...);
|
||||
|
||||
VOID
|
||||
CONSOLE_PrintTextXYN(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN SHORT len,
|
||||
IN LPCSTR fmt, ...);
|
||||
|
||||
VOID
|
||||
CONSOLE_SetCursorType(
|
||||
IN BOOL bInsert,
|
||||
IN BOOL bVisible);
|
||||
|
||||
VOID
|
||||
CONSOLE_SetCursorXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y);
|
||||
|
||||
VOID
|
||||
CONSOLE_SetCursorXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y);
|
||||
|
||||
VOID
|
||||
CONSOLE_SetHighlightedTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN LPCSTR Text);
|
||||
|
||||
VOID
|
||||
CONSOLE_SetInputTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN SHORT len,
|
||||
IN LPCWSTR Text);
|
||||
|
||||
VOID
|
||||
CONSOLE_SetInvertedTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN LPCSTR Text);
|
||||
|
||||
VOID
|
||||
CONSOLE_SetStatusText(
|
||||
IN LPCSTR fmt, ...);
|
||||
|
||||
VOID
|
||||
CONSOLE_SetStatusTextX(
|
||||
IN SHORT x,
|
||||
IN LPCSTR fmt, ...);
|
||||
|
||||
VOID
|
||||
CONSOLE_SetStatusTextAutoFitX(
|
||||
IN SHORT x,
|
||||
IN LPCSTR fmt, ...);
|
||||
|
||||
VOID
|
||||
CONSOLE_SetTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN LPCSTR Text);
|
||||
|
||||
VOID
|
||||
CONSOLE_SetUnderlinedTextXY(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN LPCSTR Text);
|
||||
|
||||
VOID
|
||||
CONSOLE_SetStyledText(
|
||||
IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN INT Flags,
|
||||
IN LPCSTR Text);
|
||||
|
||||
VOID
|
||||
CONSOLE_ClearStyledText(IN SHORT x,
|
||||
IN SHORT y,
|
||||
IN INT Flags,
|
||||
IN SHORT Length);
|
||||
|
||||
/* EOF */
|
420
base/setup/usetup/interface/devinst.c
Normal file
420
base/setup/usetup/interface/devinst.c
Normal file
|
@ -0,0 +1,420 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS text-mode setup
|
||||
* FILE: base/setup/usetup/interface/devinst.c
|
||||
* PURPOSE: Device installation
|
||||
* PROGRAMMER: Hervé Poussineau (hpoussin@reactos.org)
|
||||
*/
|
||||
|
||||
#include <usetup.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
#define INITGUID
|
||||
#include <guiddef.h>
|
||||
#include <libs/umpnpmgr/sysguid.h>
|
||||
|
||||
BOOLEAN
|
||||
ResetDevice(
|
||||
IN LPCWSTR DeviceId)
|
||||
{
|
||||
PLUGPLAY_CONTROL_RESET_DEVICE_DATA ResetDeviceData;
|
||||
NTSTATUS Status;
|
||||
|
||||
RtlInitUnicodeString(&ResetDeviceData.DeviceInstance, DeviceId);
|
||||
Status = NtPlugPlayControl(PlugPlayControlResetDevice, &ResetDeviceData, sizeof(PLUGPLAY_CONTROL_RESET_DEVICE_DATA));
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtPlugPlayControl() failed with status 0x%08x\n", Status);
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
InstallDriver(
|
||||
IN HINF hInf,
|
||||
IN HANDLE hServices,
|
||||
IN HANDLE hDeviceKey,
|
||||
IN LPCWSTR DeviceId,
|
||||
IN LPCWSTR HardwareId)
|
||||
{
|
||||
UNICODE_STRING PathPrefix = RTL_CONSTANT_STRING(L"System32\\DRIVERS\\");
|
||||
UNICODE_STRING ServiceU = RTL_CONSTANT_STRING(L"Service");
|
||||
UNICODE_STRING ErrorControlU = RTL_CONSTANT_STRING(L"ErrorControl");
|
||||
UNICODE_STRING ImagePathU = RTL_CONSTANT_STRING(L"ImagePath");
|
||||
UNICODE_STRING StartU = RTL_CONSTANT_STRING(L"Start");
|
||||
UNICODE_STRING TypeU = RTL_CONSTANT_STRING(L"Type");
|
||||
UNICODE_STRING StringU;
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
HANDLE hService;
|
||||
INFCONTEXT Context;
|
||||
LPWSTR Driver, ClassGuid, ImagePath, FullImagePath;
|
||||
ULONG dwValue;
|
||||
ULONG Disposition;
|
||||
NTSTATUS Status;
|
||||
BOOLEAN deviceInstalled = FALSE;
|
||||
UNICODE_STRING UpperFiltersU = RTL_CONSTANT_STRING(L"UpperFilters");
|
||||
LPWSTR keyboardClass = L"kbdclass\0";
|
||||
|
||||
/* Check if we know the hardware */
|
||||
if (!SetupFindFirstLineW(hInf, L"HardwareIdsDatabase", HardwareId, &Context))
|
||||
return FALSE;
|
||||
if (!INF_GetDataField(&Context, 1, &Driver))
|
||||
return FALSE;
|
||||
|
||||
/* Get associated class GUID (if any) */
|
||||
if (!INF_GetDataField(&Context, 2, &ClassGuid))
|
||||
ClassGuid = NULL;
|
||||
|
||||
/* Find associated driver name */
|
||||
/* FIXME: check in other sections too! */
|
||||
if (!SetupFindFirstLineW(hInf, L"BootBusExtenders.Load", Driver, &Context)
|
||||
&& !SetupFindFirstLineW(hInf, L"BusExtenders.Load", Driver, &Context)
|
||||
&& !SetupFindFirstLineW(hInf, L"SCSI.Load", Driver, &Context)
|
||||
&& !SetupFindFirstLineW(hInf, L"InputDevicesSupport.Load", Driver, &Context)
|
||||
&& !SetupFindFirstLineW(hInf, L"Keyboard.Load", Driver, &Context))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!INF_GetDataField(&Context, 1, &ImagePath))
|
||||
return FALSE;
|
||||
|
||||
/* Prepare full driver path */
|
||||
dwValue = PathPrefix.MaximumLength + wcslen(ImagePath) * sizeof(WCHAR);
|
||||
FullImagePath = (LPWSTR)RtlAllocateHeap(ProcessHeap, 0, dwValue);
|
||||
if (!FullImagePath)
|
||||
{
|
||||
DPRINT1("RtlAllocateHeap() failed\n");
|
||||
return FALSE;
|
||||
}
|
||||
RtlCopyMemory(FullImagePath, PathPrefix.Buffer, PathPrefix.MaximumLength);
|
||||
wcscat(FullImagePath, ImagePath);
|
||||
|
||||
DPRINT1("Using driver '%S' for device '%S'\n", ImagePath, DeviceId);
|
||||
|
||||
/* Create service key */
|
||||
RtlInitUnicodeString(&StringU, Driver);
|
||||
InitializeObjectAttributes(&ObjectAttributes, &StringU, 0, hServices, NULL);
|
||||
Status = NtCreateKey(&hService, KEY_SET_VALUE, &ObjectAttributes, 0, NULL, 0, &Disposition);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtCreateKey('%wZ') failed with status 0x%08x\n", &StringU, Status);
|
||||
RtlFreeHeap(ProcessHeap, 0, FullImagePath);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Fill service key */
|
||||
if (Disposition == REG_CREATED_NEW_KEY)
|
||||
{
|
||||
dwValue = 0;
|
||||
NtSetValueKey(
|
||||
hService,
|
||||
&ErrorControlU,
|
||||
0,
|
||||
REG_DWORD,
|
||||
&dwValue,
|
||||
sizeof(dwValue));
|
||||
dwValue = 0;
|
||||
NtSetValueKey(
|
||||
hService,
|
||||
&StartU,
|
||||
0,
|
||||
REG_DWORD,
|
||||
&dwValue,
|
||||
sizeof(dwValue));
|
||||
dwValue = SERVICE_KERNEL_DRIVER;
|
||||
NtSetValueKey(
|
||||
hService,
|
||||
&TypeU,
|
||||
0,
|
||||
REG_DWORD,
|
||||
&dwValue,
|
||||
sizeof(dwValue));
|
||||
}
|
||||
/* HACK: don't put any path in registry */
|
||||
NtSetValueKey(
|
||||
hService,
|
||||
&ImagePathU,
|
||||
0,
|
||||
REG_SZ,
|
||||
ImagePath,
|
||||
(wcslen(ImagePath) + 1) * sizeof(WCHAR));
|
||||
|
||||
if (ClassGuid &&_wcsicmp(ClassGuid, L"{4D36E96B-E325-11CE-BFC1-08002BE10318}") == 0)
|
||||
{
|
||||
DPRINT1("Installing keyboard class driver for '%S'\n", DeviceId);
|
||||
NtSetValueKey(hDeviceKey,
|
||||
&UpperFiltersU,
|
||||
0,
|
||||
REG_MULTI_SZ,
|
||||
keyboardClass,
|
||||
(wcslen(keyboardClass) + 2) * sizeof(WCHAR));
|
||||
}
|
||||
|
||||
/* Associate device with the service we just filled */
|
||||
Status = NtSetValueKey(
|
||||
hDeviceKey,
|
||||
&ServiceU,
|
||||
0,
|
||||
REG_SZ,
|
||||
Driver,
|
||||
(wcslen(Driver) + 1) * sizeof(WCHAR));
|
||||
if (NT_SUCCESS(Status))
|
||||
{
|
||||
/* Restart the device, so it will use the driver we registered */
|
||||
deviceInstalled = ResetDevice(DeviceId);
|
||||
}
|
||||
|
||||
/* HACK: Update driver path */
|
||||
NtSetValueKey(
|
||||
hService,
|
||||
&ImagePathU,
|
||||
0,
|
||||
REG_SZ,
|
||||
FullImagePath,
|
||||
(wcslen(FullImagePath) + 1) * sizeof(WCHAR));
|
||||
RtlFreeHeap(ProcessHeap, 0, FullImagePath);
|
||||
NtClose(hService);
|
||||
|
||||
return deviceInstalled;
|
||||
}
|
||||
|
||||
VOID
|
||||
InstallDevice(
|
||||
IN HINF hInf,
|
||||
IN HANDLE hEnum,
|
||||
IN HANDLE hServices,
|
||||
IN LPCWSTR DeviceId)
|
||||
{
|
||||
UNICODE_STRING HardwareIDU = RTL_CONSTANT_STRING(L"HardwareID");
|
||||
UNICODE_STRING CompatibleIDsU = RTL_CONSTANT_STRING(L"CompatibleIDs");
|
||||
UNICODE_STRING DeviceIdU;
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
LPCWSTR HardwareID;
|
||||
PKEY_VALUE_PARTIAL_INFORMATION pPartialInformation = NULL;
|
||||
HANDLE hDeviceKey;
|
||||
ULONG ulRequired;
|
||||
BOOLEAN bDriverInstalled = FALSE;
|
||||
NTSTATUS Status;
|
||||
|
||||
RtlInitUnicodeString(&DeviceIdU, DeviceId);
|
||||
InitializeObjectAttributes(&ObjectAttributes, &DeviceIdU, 0, hEnum, NULL);
|
||||
Status = NtOpenKey(&hDeviceKey, KEY_QUERY_VALUE | KEY_SET_VALUE, &ObjectAttributes);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("Unable to open subkey '%S'\n", DeviceId);
|
||||
return;
|
||||
}
|
||||
|
||||
Status = NtQueryValueKey(
|
||||
hDeviceKey,
|
||||
&HardwareIDU,
|
||||
KeyValuePartialInformation,
|
||||
NULL,
|
||||
0,
|
||||
&ulRequired);
|
||||
if (Status == STATUS_BUFFER_TOO_SMALL)
|
||||
{
|
||||
pPartialInformation = (PKEY_VALUE_PARTIAL_INFORMATION)RtlAllocateHeap(ProcessHeap, 0, ulRequired);
|
||||
if (!pPartialInformation)
|
||||
{
|
||||
DPRINT1("RtlAllocateHeap() failed\n");
|
||||
NtClose(hDeviceKey);
|
||||
return;
|
||||
}
|
||||
Status = NtQueryValueKey(
|
||||
hDeviceKey,
|
||||
&HardwareIDU,
|
||||
KeyValuePartialInformation,
|
||||
pPartialInformation,
|
||||
ulRequired,
|
||||
&ulRequired);
|
||||
}
|
||||
if (Status == STATUS_OBJECT_NAME_NOT_FOUND)
|
||||
{
|
||||
/* Nothing to do */
|
||||
}
|
||||
else if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtQueryValueKey() failed with status 0x%08x\n", Status);
|
||||
if (pPartialInformation)
|
||||
RtlFreeHeap(ProcessHeap, 0, pPartialInformation);
|
||||
NtClose(hDeviceKey);
|
||||
return;
|
||||
}
|
||||
else if (pPartialInformation)
|
||||
{
|
||||
for (HardwareID = (LPCWSTR)pPartialInformation->Data;
|
||||
(PUCHAR)HardwareID < pPartialInformation->Data + pPartialInformation->DataLength
|
||||
&& *HardwareID
|
||||
&& !bDriverInstalled;
|
||||
HardwareID += wcslen(HardwareID) + 1)
|
||||
{
|
||||
bDriverInstalled = InstallDriver(hInf, hServices,hDeviceKey, DeviceId, HardwareID);
|
||||
}
|
||||
}
|
||||
|
||||
if (!bDriverInstalled)
|
||||
{
|
||||
if (pPartialInformation)
|
||||
{
|
||||
RtlFreeHeap(ProcessHeap, 0, pPartialInformation);
|
||||
pPartialInformation = NULL;
|
||||
}
|
||||
Status = NtQueryValueKey(
|
||||
hDeviceKey,
|
||||
&CompatibleIDsU,
|
||||
KeyValuePartialInformation,
|
||||
NULL,
|
||||
0,
|
||||
&ulRequired);
|
||||
if (Status == STATUS_BUFFER_TOO_SMALL)
|
||||
{
|
||||
pPartialInformation = (PKEY_VALUE_PARTIAL_INFORMATION)RtlAllocateHeap(ProcessHeap, 0, ulRequired);
|
||||
if (!pPartialInformation)
|
||||
{
|
||||
DPRINT("RtlAllocateHeap() failed\n");
|
||||
NtClose(hDeviceKey);
|
||||
return;
|
||||
}
|
||||
Status = NtQueryValueKey(
|
||||
hDeviceKey,
|
||||
&CompatibleIDsU,
|
||||
KeyValuePartialInformation,
|
||||
pPartialInformation,
|
||||
ulRequired,
|
||||
&ulRequired);
|
||||
}
|
||||
if (Status == STATUS_OBJECT_NAME_NOT_FOUND)
|
||||
{
|
||||
/* Nothing to do */
|
||||
}
|
||||
else if (!NT_SUCCESS(Status))
|
||||
{
|
||||
if (pPartialInformation)
|
||||
RtlFreeHeap(ProcessHeap, 0, pPartialInformation);
|
||||
NtClose(hDeviceKey);
|
||||
DPRINT1("NtQueryValueKey() failed with status 0x%08x\n", Status);
|
||||
return;
|
||||
}
|
||||
else if (pPartialInformation)
|
||||
{
|
||||
for (HardwareID = (LPCWSTR)pPartialInformation->Data;
|
||||
(PUCHAR)HardwareID < pPartialInformation->Data + pPartialInformation->DataLength
|
||||
&& *HardwareID
|
||||
&& !bDriverInstalled;
|
||||
HardwareID += wcslen(HardwareID) + 1)
|
||||
{
|
||||
bDriverInstalled = InstallDriver(hInf, hServices,hDeviceKey, DeviceId, HardwareID);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!bDriverInstalled)
|
||||
DPRINT("No driver available for %S\n", DeviceId);
|
||||
|
||||
RtlFreeHeap(ProcessHeap, 0, pPartialInformation);
|
||||
NtClose(hDeviceKey);
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
EventThread(IN LPVOID lpParameter)
|
||||
{
|
||||
UNICODE_STRING EnumU = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Enum");
|
||||
UNICODE_STRING ServicesU = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Services");
|
||||
PPLUGPLAY_EVENT_BLOCK PnpEvent;
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
ULONG PnpEventSize;
|
||||
HINF hInf;
|
||||
HANDLE hEnum, hServices;
|
||||
NTSTATUS Status;
|
||||
|
||||
hInf = *(HINF *)lpParameter;
|
||||
|
||||
InitializeObjectAttributes(&ObjectAttributes, &EnumU, OBJ_CASE_INSENSITIVE, NULL, NULL);
|
||||
Status = NtOpenKey(&hEnum, KEY_QUERY_VALUE, &ObjectAttributes);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtOpenKey('%wZ') failed with status 0x%08lx\n", &EnumU, Status);
|
||||
return Status;
|
||||
}
|
||||
|
||||
InitializeObjectAttributes(&ObjectAttributes, &ServicesU, OBJ_CASE_INSENSITIVE, NULL, NULL);
|
||||
Status = NtCreateKey(&hServices, KEY_ALL_ACCESS, &ObjectAttributes, 0, NULL, 0, NULL);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtCreateKey('%wZ') failed with status 0x%08lx\n", &ServicesU, Status);
|
||||
NtClose(hEnum);
|
||||
return Status;
|
||||
}
|
||||
|
||||
PnpEventSize = 0x1000;
|
||||
PnpEvent = (PPLUGPLAY_EVENT_BLOCK)RtlAllocateHeap(ProcessHeap, 0, PnpEventSize);
|
||||
if (PnpEvent == NULL)
|
||||
{
|
||||
NtClose(hEnum);
|
||||
NtClose(hServices);
|
||||
return STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
for (;;)
|
||||
{
|
||||
DPRINT("Calling NtGetPlugPlayEvent()\n");
|
||||
|
||||
/* Wait for the next pnp event */
|
||||
Status = NtGetPlugPlayEvent(0, 0, PnpEvent, PnpEventSize);
|
||||
|
||||
/* Resize the buffer for the PnP event if it's too small. */
|
||||
if (Status == STATUS_BUFFER_TOO_SMALL)
|
||||
{
|
||||
PnpEventSize += 0x400;
|
||||
RtlFreeHeap(ProcessHeap, 0, PnpEvent);
|
||||
PnpEvent = (PPLUGPLAY_EVENT_BLOCK)RtlAllocateHeap(ProcessHeap, 0, PnpEventSize);
|
||||
if (PnpEvent == NULL)
|
||||
{
|
||||
NtClose(hEnum);
|
||||
NtClose(hServices);
|
||||
return STATUS_NO_MEMORY;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("NtPlugPlayEvent() failed (Status %lx)\n", Status);
|
||||
break;
|
||||
}
|
||||
|
||||
/* Process the pnp event */
|
||||
DPRINT("Received PnP Event\n");
|
||||
if (IsEqualIID(&PnpEvent->EventGuid, (REFGUID)&GUID_DEVICE_ENUMERATED))
|
||||
{
|
||||
DPRINT("Device arrival event: %S\n", PnpEvent->TargetDevice.DeviceIds);
|
||||
InstallDevice(hInf, hEnum, hServices, PnpEvent->TargetDevice.DeviceIds);
|
||||
}
|
||||
else
|
||||
{
|
||||
DPRINT("Unknown event\n");
|
||||
}
|
||||
|
||||
/* Dequeue the current pnp event and signal the next one */
|
||||
NtPlugPlayControl(PlugPlayControlUserResponse, NULL, 0);
|
||||
}
|
||||
|
||||
RtlFreeHeap(ProcessHeap, 0, PnpEvent);
|
||||
NtClose(hEnum);
|
||||
NtClose(hServices);
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
DWORD WINAPI
|
||||
PnpEventThread(IN LPVOID lpParameter)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
Status = EventThread(lpParameter);
|
||||
NtTerminateThread(NtCurrentThread(), Status);
|
||||
return 0;
|
||||
}
|
4850
base/setup/usetup/interface/usetup.c
Normal file
4850
base/setup/usetup/interface/usetup.c
Normal file
File diff suppressed because it is too large
Load diff
8
base/setup/usetup/lang/af-ZA.h
Normal file
8
base/setup/usetup/lang/af-ZA.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS afZALayouts[] =
|
||||
{
|
||||
{ L"0436", L"00000409" },
|
||||
{ L"0409", L"00000409" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-AE.h
Normal file
8
base/setup/usetup/lang/ar-AE.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arAELayouts[] =
|
||||
{
|
||||
{ L"0409", L"00000409" },
|
||||
{ L"3801", L"00000401" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-BH.h
Normal file
8
base/setup/usetup/lang/ar-BH.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arBHLayouts[] =
|
||||
{
|
||||
{ L"0409", L"00000409" },
|
||||
{ L"3C01", L"00000401" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-DZ.h
Normal file
8
base/setup/usetup/lang/ar-DZ.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arDZLayouts[] =
|
||||
{
|
||||
{ L"040C", L"0000040C" },
|
||||
{ L"1401", L"00020401" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-EG.h
Normal file
8
base/setup/usetup/lang/ar-EG.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arEGLayouts[] =
|
||||
{
|
||||
{ L"0C01", L"00000401" },
|
||||
{ L"0409", L"00000409" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-IQ.h
Normal file
8
base/setup/usetup/lang/ar-IQ.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arIQLayouts[] =
|
||||
{
|
||||
{ L"0801", L"00000401" },
|
||||
{ L"0409", L"00000409" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-JO.h
Normal file
8
base/setup/usetup/lang/ar-JO.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arJOLayouts[] =
|
||||
{
|
||||
{ L"0409", L"00000409" },
|
||||
{ L"2C01", L"00000401" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-KW.h
Normal file
8
base/setup/usetup/lang/ar-KW.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arKWLayouts[] =
|
||||
{
|
||||
{ L"0409", L"00000409" },
|
||||
{ L"3401", L"00000401" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-LB.h
Normal file
8
base/setup/usetup/lang/ar-LB.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arLBLayouts[] =
|
||||
{
|
||||
{ L"0409", L"00000409" },
|
||||
{ L"3001", L"00000401" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-LY.h
Normal file
8
base/setup/usetup/lang/ar-LY.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arLYLayouts[] =
|
||||
{
|
||||
{ L"040C", L"0000040C" },
|
||||
{ L"1001", L"00020401" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-MA.h
Normal file
8
base/setup/usetup/lang/ar-MA.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arMALayouts[] =
|
||||
{
|
||||
{ L"040C", L"0000040C" },
|
||||
{ L"1801", L"00020401" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-OM.h
Normal file
8
base/setup/usetup/lang/ar-OM.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arOMLayouts[] =
|
||||
{
|
||||
{ L"0409", L"00000409" },
|
||||
{ L"2001", L"00000401" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-QA.h
Normal file
8
base/setup/usetup/lang/ar-QA.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arQALayouts[] =
|
||||
{
|
||||
{ L"0409", L"00000409" },
|
||||
{ L"4001", L"00000401" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-SA.h
Normal file
8
base/setup/usetup/lang/ar-SA.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arSALayouts[] =
|
||||
{
|
||||
{ L"0401", L"00000401" },
|
||||
{ L"0409", L"00000409" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-SY.h
Normal file
8
base/setup/usetup/lang/ar-SY.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arSYLayouts[] =
|
||||
{
|
||||
{ L"0409", L"00000409" },
|
||||
{ L"2801", L"00000401" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-TN.h
Normal file
8
base/setup/usetup/lang/ar-TN.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arTNLayouts[] =
|
||||
{
|
||||
{ L"040C", L"0000040C" },
|
||||
{ L"1C01", L"00020401" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ar-YE.h
Normal file
8
base/setup/usetup/lang/ar-YE.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS arYELayouts[] =
|
||||
{
|
||||
{ L"0409", L"00000409" },
|
||||
{ L"2401", L"00000401" },
|
||||
{ NULL, NULL }
|
||||
};
|
9
base/setup/usetup/lang/az-AZ.h
Normal file
9
base/setup/usetup/lang/az-AZ.h
Normal file
|
@ -0,0 +1,9 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS azAZLayouts[] =
|
||||
{
|
||||
{ L"082C", L"0000082C" },
|
||||
{ L"042C", L"0000042C" },
|
||||
{ L"0419", L"00000419" },
|
||||
{ NULL, NULL }
|
||||
};
|
9
base/setup/usetup/lang/be-BY.h
Normal file
9
base/setup/usetup/lang/be-BY.h
Normal file
|
@ -0,0 +1,9 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS beBYLayouts[] =
|
||||
{
|
||||
{ L"0423", L"00000423" },
|
||||
{ L"0409", L"00000409" },
|
||||
{ L"0419", L"00000419" },
|
||||
{ NULL, NULL }
|
||||
};
|
1850
base/setup/usetup/lang/bg-BG.h
Normal file
1850
base/setup/usetup/lang/bg-BG.h
Normal file
File diff suppressed because it is too large
Load diff
1835
base/setup/usetup/lang/bn-BD.h
Normal file
1835
base/setup/usetup/lang/bn-BD.h
Normal file
File diff suppressed because it is too large
Load diff
7
base/setup/usetup/lang/bn-IN.h
Normal file
7
base/setup/usetup/lang/bn-IN.h
Normal file
|
@ -0,0 +1,7 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS bnINLayouts[] =
|
||||
{
|
||||
{ L"0445", L"00000445" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/ca-ES.h
Normal file
8
base/setup/usetup/lang/ca-ES.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS caESLayouts[] =
|
||||
{
|
||||
{ L"0403", L"0000040A" },
|
||||
{ L"0409", L"00000409" },
|
||||
{ NULL, NULL }
|
||||
};
|
1843
base/setup/usetup/lang/cs-CZ.h
Normal file
1843
base/setup/usetup/lang/cs-CZ.h
Normal file
File diff suppressed because it is too large
Load diff
1855
base/setup/usetup/lang/da-DK.h
Normal file
1855
base/setup/usetup/lang/da-DK.h
Normal file
File diff suppressed because it is too large
Load diff
8
base/setup/usetup/lang/de-AT.h
Normal file
8
base/setup/usetup/lang/de-AT.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS deATLayouts[] =
|
||||
{
|
||||
{ L"0C07", L"00000407" },
|
||||
{ L"0409", L"00000409" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/de-CH.h
Normal file
8
base/setup/usetup/lang/de-CH.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS deCHLayouts[] =
|
||||
{
|
||||
{ L"0807", L"00000807" },
|
||||
{ L"0409", L"00000409" },
|
||||
{ NULL, NULL }
|
||||
};
|
1839
base/setup/usetup/lang/de-DE.h
Normal file
1839
base/setup/usetup/lang/de-DE.h
Normal file
File diff suppressed because it is too large
Load diff
9
base/setup/usetup/lang/de-LI.h
Normal file
9
base/setup/usetup/lang/de-LI.h
Normal file
|
@ -0,0 +1,9 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS deLILayouts[] =
|
||||
{
|
||||
{ L"1407", L"00000807" },
|
||||
{ L"1407", L"00000407" },
|
||||
{ L"0409", L"00000409" },
|
||||
{ NULL, NULL }
|
||||
};
|
8
base/setup/usetup/lang/de-LU.h
Normal file
8
base/setup/usetup/lang/de-LU.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
MUI_LAYOUTS deLULayouts[] =
|
||||
{
|
||||
{ L"1007", L"00000407" },
|
||||
{ L"0409", L"00000409" },
|
||||
{ NULL, NULL }
|
||||
};
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue