Skip to content

Commit ac19c5f

Browse files
committed
[REACTOS]
- Fix height of the inner wizard pages. - Do not show the header for the finish page. - Remove the language selection page and the ReactOS logo because they have been moved to userinit. - Start removing groupbox controls from the wizard pages. They just occupy a lot of space. - Resize / realign the install type page and add some descriptive text to all languages. - Allocate setup data from the heap and pass the setup data pointer to each wizard page. - Move the drive wizard page (DriveDlgProc) to a separate file. - Move the common declarations to a new header file. svn path=/trunk/; revision=70638
1 parent 7b1920c commit ac19c5f

31 files changed

+798
-1162
lines changed

reactos/base/setup/reactos/CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11

2+
list(APPEND SOURCE
3+
drivepage.c
4+
reactos.c
5+
reactos.h)
6+
27
file(GLOB reactos_rc_deps res/*.*)
38
add_rc_deps(reactos.rc ${reactos_rc_deps})
4-
add_executable(reactos reactos.c reactos.rc)
9+
add_executable(reactos ${SOURCE} reactos.rc)
10+
add_pch(reactos reactos.h SOURCE)
511
target_link_libraries(reactos uuid)
612
set_module_type(reactos win32gui UNICODE)
713
add_importlibs(reactos gdi32 user32 comctl32 setupapi msvcrt kernel32 ntdll)
Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,243 @@
1+
/*
2+
* ReactOS applications
3+
* Copyright (C) 2004-2008 ReactOS Team
4+
*
5+
* This program is free software; you can redistribute it and/or modify
6+
* it under the terms of the GNU General Public License as published by
7+
* the Free Software Foundation; either version 2 of the License, or
8+
* (at your option) any later version.
9+
*
10+
* This program is distributed in the hope that it will be useful,
11+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
* GNU General Public License for more details.
14+
*
15+
* You should have received a copy of the GNU General Public License along
16+
* with this program; if not, write to the Free Software Foundation, Inc.,
17+
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18+
*/
19+
/*
20+
* COPYRIGHT: See COPYING in the top level directory
21+
* PROJECT: ReactOS GUI first stage setup application
22+
* FILE: base/setup/reactos/drivepage.c
23+
* PROGRAMMERS: Eric Kohl
24+
* Matthias Kupfer
25+
* Dmitry Chapyshev ([email protected])
26+
*/
27+
28+
#include "reactos.h"
29+
#include "resource.h"
30+
31+
/* GLOBALS ******************************************************************/
32+
33+
static INT_PTR CALLBACK
34+
MoreOptDlgProc(HWND hwndDlg,
35+
UINT uMsg,
36+
WPARAM wParam,
37+
LPARAM lParam)
38+
{
39+
PSETUPDATA pSetupData;
40+
41+
/* Retrieve pointer to the global setup data */
42+
pSetupData = (PSETUPDATA)GetWindowLongPtr (hwndDlg, GWL_USERDATA);
43+
44+
switch (uMsg)
45+
{
46+
case WM_INITDIALOG:
47+
/* Save pointer to the global setup data */
48+
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
49+
SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
50+
51+
CheckDlgButton(hwndDlg, IDC_INSTFREELDR, BST_CHECKED);
52+
SendMessage(GetDlgItem(hwndDlg, IDC_PATH),
53+
WM_SETTEXT,
54+
(WPARAM)0,
55+
(LPARAM)pSetupData->InstallDir);
56+
break;
57+
58+
case WM_COMMAND:
59+
switch(LOWORD(wParam))
60+
{
61+
case IDOK:
62+
SendMessage(GetDlgItem(hwndDlg, IDC_PATH),
63+
WM_GETTEXT,
64+
(WPARAM)sizeof(pSetupData->InstallDir) / sizeof(TCHAR),
65+
(LPARAM)pSetupData->InstallDir);
66+
67+
EndDialog(hwndDlg, IDOK);
68+
return TRUE;
69+
70+
case IDCANCEL:
71+
EndDialog(hwndDlg, IDCANCEL);
72+
return TRUE;
73+
}
74+
break;
75+
}
76+
77+
return FALSE;
78+
}
79+
80+
static INT_PTR CALLBACK
81+
PartitionDlgProc(HWND hwndDlg,
82+
UINT uMsg,
83+
WPARAM wParam,
84+
LPARAM lParam)
85+
{
86+
switch (uMsg)
87+
{
88+
case WM_INITDIALOG:
89+
break;
90+
case WM_COMMAND:
91+
{
92+
switch(LOWORD(wParam))
93+
{
94+
case IDOK:
95+
EndDialog(hwndDlg, IDOK);
96+
return TRUE;
97+
case IDCANCEL:
98+
EndDialog(hwndDlg, IDCANCEL);
99+
return TRUE;
100+
}
101+
}
102+
}
103+
return FALSE;
104+
}
105+
106+
INT_PTR
107+
CALLBACK
108+
DriveDlgProc(
109+
HWND hwndDlg,
110+
UINT uMsg,
111+
WPARAM wParam,
112+
LPARAM lParam)
113+
{
114+
PSETUPDATA pSetupData;
115+
#if 1
116+
HDEVINFO h;
117+
HWND hList;
118+
SP_DEVINFO_DATA DevInfoData;
119+
DWORD i;
120+
#endif
121+
122+
/* Retrieve pointer to the global setup data */
123+
pSetupData = (PSETUPDATA)GetWindowLongPtr (hwndDlg, GWL_USERDATA);
124+
125+
switch (uMsg)
126+
{
127+
case WM_INITDIALOG:
128+
{
129+
HWND hwndControl;
130+
DWORD dwStyle;
131+
132+
/* Save pointer to the global setup data */
133+
pSetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
134+
SetWindowLongPtr(hwndDlg, GWL_USERDATA, (DWORD_PTR)pSetupData);
135+
136+
hwndControl = GetParent(hwndDlg);
137+
138+
dwStyle = GetWindowLongPtr(hwndControl, GWL_STYLE);
139+
SetWindowLongPtr(hwndControl, GWL_STYLE, dwStyle & ~WS_SYSMENU);
140+
141+
/* Set title font */
142+
/*SendDlgItemMessage(hwndDlg,
143+
IDC_STARTTITLE,
144+
WM_SETFONT,
145+
(WPARAM)hTitleFont,
146+
(LPARAM)TRUE);*/
147+
#if 1
148+
h = SetupDiGetClassDevs(&GUID_DEVCLASS_DISKDRIVE, NULL, NULL, DIGCF_PRESENT);
149+
if (h != INVALID_HANDLE_VALUE)
150+
{
151+
hList =GetDlgItem(hwndDlg, IDC_PARTITION);
152+
DevInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
153+
for (i=0; SetupDiEnumDeviceInfo(h, i, &DevInfoData); i++)
154+
{
155+
DWORD DataT;
156+
LPTSTR buffer = NULL;
157+
DWORD buffersize = 0;
158+
159+
while (!SetupDiGetDeviceRegistryProperty(h,
160+
&DevInfoData,
161+
SPDRP_DEVICEDESC,
162+
&DataT,
163+
(PBYTE)buffer,
164+
buffersize,
165+
&buffersize))
166+
{
167+
if (GetLastError() == ERROR_INSUFFICIENT_BUFFER)
168+
{
169+
if (buffer) LocalFree(buffer);
170+
buffer = LocalAlloc(LPTR, buffersize * 2);
171+
}
172+
else
173+
break;
174+
}
175+
if (buffer)
176+
{
177+
SendMessage(hList, LB_ADDSTRING, (WPARAM) 0, (LPARAM) buffer);
178+
LocalFree(buffer);
179+
}
180+
}
181+
SetupDiDestroyDeviceInfoList(h);
182+
}
183+
#endif
184+
}
185+
break;
186+
187+
case WM_COMMAND:
188+
{
189+
switch(LOWORD(wParam))
190+
{
191+
case IDC_PARTMOREOPTS:
192+
DialogBoxParam(pSetupData->hInstance,
193+
MAKEINTRESOURCE(IDD_BOOTOPTIONS),
194+
hwndDlg,
195+
(DLGPROC)MoreOptDlgProc,
196+
(LPARAM)pSetupData);
197+
break;
198+
case IDC_PARTCREATE:
199+
DialogBox(pSetupData->hInstance,
200+
MAKEINTRESOURCE(IDD_PARTITION),
201+
hwndDlg,
202+
(DLGPROC) PartitionDlgProc);
203+
break;
204+
case IDC_PARTDELETE:
205+
break;
206+
}
207+
break;
208+
}
209+
210+
case WM_NOTIFY:
211+
{
212+
LPNMHDR lpnm = (LPNMHDR)lParam;
213+
214+
switch (lpnm->code)
215+
{
216+
case PSN_SETACTIVE:
217+
PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_NEXT | PSWIZB_BACK);
218+
break;
219+
220+
case PSN_QUERYCANCEL:
221+
SetWindowLongPtr(hwndDlg,
222+
DWL_MSGRESULT,
223+
MessageBox(GetParent(hwndDlg),
224+
pSetupData->szAbortMessage,
225+
pSetupData->szAbortTitle,
226+
MB_YESNO | MB_ICONQUESTION) != IDYES);
227+
return TRUE;
228+
229+
default:
230+
break;
231+
}
232+
}
233+
break;
234+
235+
default:
236+
break;
237+
238+
}
239+
240+
return FALSE;
241+
}
242+
243+
/* EOF */

reactos/base/setup/reactos/lang/bg-BG.rc

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,19 @@ BEGIN
1010
LTEXT "Натиснете „Приключване“ за изход от настройването.", IDC_STATIC, 115, 169, 195, 17
1111
END
1212

13-
IDD_LANGSELPAGE DIALOGEX 0, 0, 317, 193
13+
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 143
1414
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
1515
CAPTION "Настройка на РеактОС"
1616
FONT 8, "MS Shell Dlg"
1717
BEGIN
18-
CONTROL "IDB_LOGO", IDB_ROSLOGO, "Static", WS_CHILD | WS_VISIBLE | SS_OWNERDRAW, 18, 0, 290, 99
19-
CONTROL "Език за настройването:", IDC_STATIC, "Static", WS_CHILD | WS_VISIBLE | WS_GROUP | SS_RIGHT, 8, 109, 135, 11
20-
CONTROL "", IDC_LANGUAGES, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 145, 107, 163, 142
21-
CONTROL "Клавиатура или начин на въвеждане:", IDC_STATIC, "Static", WS_CHILD | WS_VISIBLE | WS_GROUP | SS_RIGHT, 8, 142, 135, 11
22-
CONTROL "", IDC_KEYLAYOUT, "ComboBox", WS_VSCROLL | WS_TABSTOP | CBS_DROPDOWNLIST, 145, 141, 163, 81
23-
LTEXT "Натиснете „Напред“ за избор на вида настройване.", IDC_STATIC, 10, 180, 297, 10
24-
END
25-
26-
IDD_TYPEPAGE DIALOGEX 0, 0, 317, 193
27-
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
28-
CAPTION "Настройка на РеактОС"
29-
FONT 8, "MS Shell Dlg"
30-
BEGIN
31-
CONTROL "Вид настройване", IDC_STATIC, "Button", BS_GROUPBOX, 10, 0, 297, 172
32-
CONTROL "Слагане на РеактОС", IDC_INSTALL, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 20, 15, 277, 10
33-
CONTROL "Поправка или осъвременяване на сложен РеактОС", IDC_SETUP, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED, 20, 30, 277, 10
18+
AUTORADIOBUTTON "Слагане на РеактОС", IDC_INSTALL, 7, 7, 277, 10
19+
LTEXT "Install a new copy of ReactOS. This option does not keep your files, settions and programs. You can make changes to disks and partitions.", IDC_INSTALLTEXT, 19, 18, 269, 25
20+
AUTORADIOBUTTON "Поправка или осъвременяване на сложен РеактОС", IDC_UPDATE, 7, 50, 277, 10
21+
LTEXT "Update or repair an installed copy of ReactOS. This option keeps your files, settions and programs. This option is only available if ReactOS is already installed on this computer.", IDC_UPDATETEXT, 19, 61, 269, 30
3422
LTEXT "Натиснете „Напред“ за настройка на устройствата.", IDC_STATIC, 10, 180, 297, 10
3523
END
3624

37-
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 193
25+
IDD_DEVICEPAGE DIALOGEX 0, 0, 317, 143
3826
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
3927
CAPTION "Настройка на РеактОС"
4028
FONT 8, "MS Shell Dlg"
@@ -49,7 +37,7 @@ BEGIN
4937
LTEXT "Натиснете „Напред“ за избор на устройство за слагане.", IDC_STATIC, 10, 180, 277, 20
5038
END
5139

52-
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 193
40+
IDD_DRIVEPAGE DIALOGEX 0, 0, 317, 143
5341
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
5442
CAPTION "Настройка на РеактОС"
5543
FONT 8, "MS Shell Dlg"
@@ -94,7 +82,7 @@ BEGIN
9482
PUSHBUTTON "&Отказ", IDCANCEL, 240, 94, 50, 15, WS_TABSTOP | WS_VISIBLE
9583
END
9684

97-
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 193
85+
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 143
9886
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
9987
CAPTION "Слагане на РеактОС"
10088
FONT 8, "MS Shell Dlg"
@@ -103,7 +91,7 @@ BEGIN
10391
LTEXT "Натиснете „Напред“ за за начало на слагането.", IDC_STATIC, 10, 180, 277, 20
10492
END
10593

106-
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 193
94+
IDD_PROCESSPAGE DIALOGEX 0, 0, 317, 143
10795
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
10896
CAPTION "Настройка на РеактОС"
10997
FONT 8, "MS Shell Dlg"
@@ -128,8 +116,6 @@ END
128116

129117
STRINGTABLE
130118
BEGIN
131-
IDS_LANGTITLE "Избор на език"
132-
IDS_LANGSUBTITLE "Изберете език за настройването и за крайната уредба."
133119
IDS_TYPETITLE "РеактОС ви приветства!"
134120
IDS_TYPESUBTITLE "Изберете вид на настройването."
135121
IDS_DEVICETITLE "Настройване на основните устройства"

0 commit comments

Comments
 (0)