1 #include <exec/lists.h>
2 #include <exec/nodes.h>
4 static const char* KMsgWelcome
=
5 MUIX_L
" " MUIX_B
"\nWelcome to the AROS Research OS\n"
6 "installer.\n\n" MUIX_N
7 "This program allows you to install\n"
8 "the " MUIX_B
"pre-alpha" MUIX_N
" version of AROS\n"
9 "on to your computer's hard drive.\n\n"
10 "Since it is still in pre-alpha state, performance\n"
11 "may be sluggish - and stability isn't guaranteed\n\n";
13 static const char* KMsgInstallOptions
=
14 "\nPlease choose your installation options.\n\n";
16 static const char* KMsgDestOptions
=
17 "\nPlease choose where to install AROS.\n\n"
18 "If you are unsure, then use the defaults";
20 static const char* KMsgDestVolume
=
21 "Destination Partition";
23 static const char* KMsgWorkVolume
=
26 static const char* KMsgBeginWithPartition
=
27 "OK, we are ready to begin.\n\n"
28 "Since you've selected to format the partition,\n"
29 "you will no longer be able to undo changes\n"
30 "after this point.\n\n"
31 "You are being " MUIX_B
"warned" MUIX_N
", this is pre-alpha software.\n\n"
32 "Select Proceed to begin installation.";
34 static const char* KMsgBeginWithoutPartition
=
35 "OK, we are ready to begin...\n\n"
36 "We have collected enough information\n"
37 "to begin installation on this computer.\n\n"
38 "You are being " MUIX_B
"warned" MUIX_N
", this is pre-alpha software.\n"
39 "\n Press Proceed to begin installation...";
41 static const char* KMsgLanguage
=
42 "The system prefs for your language settings\n"
44 "Choose the settings that are relevant to you\n";
46 static const char* KMsgPartitionOptions
=
47 "We will now create AROS partitions on your hard drive\n\n"
48 "Please select how you would like to proceed...\n";
50 static const char* KMsgDestPartition
=
51 "System Partition (DH0)";
53 static const char* KMsgWorkPartition
=
54 "Work Partition (DH1)";
56 static const char* KMsgGrubOptions
=
57 "AROS uses the GRUB bootloader.\n\n"
58 "The Installer will install it to the first\n"
59 "drive on your system, and configure it\n"
62 static const char* KMsgGrubDrive
=
63 "Drive GRUB will install on:";
65 static const char* KMsgGrubGOptions
=
66 MUIX_B
"Grub Settings" MUIX_N
;
68 static const char* KMsgGrubGrub
=
69 "Path to GRUB files:";
71 static const char* KMsgGrubKernel
=
72 "Path to AROS kernel:";
74 static const char* KMsgPartitioning
=
75 "Partition your drives...\n\n";
77 static const char* KMsgInstall
=
78 "Copying files to the hard disk.\n\n"
79 "This may take some time...\n";
81 static const char* KMsgBootLoader
=
82 "Copying the GRUB bootloader to your\n"
83 "hard drive, and installing...\n";
85 static const char* KMsgDoneReboot
=
86 "AROS partitions have now been created!\n"
87 "To continue installation, you must\n"
88 "reboot AROS, and re-run\n"
89 "this installer application\n\n"
90 "Select Proceed to finish\n";
92 static const char* KMsgDone
=
93 "Congratulations, you now have AROS installed!\n\n"
94 "To boot AROS from the hard drive,\n"
95 "remove the installation media and\n"
96 "restart your computer using the\n"
97 "power switch or reset button.\n\n"
98 "Select Proceed to finish\n";
100 static const char* KMsgNoDrives
=
101 "It appears you do not have a hard\n"
102 "drive installed in your PC.\n\n"
103 "Installation of AROS can only be performed on to\n"
104 "a hard drive just now. Sorry.\n\nPress Proceed To Exit\n";
106 static const char* KMsgCancelOK
=
107 "Are you sure you wish to cancel\n"
108 "this installation?\n";
110 static const char* KMsgCancelDanger
=
111 "Irreversible changes have been made\n"
112 "to your system.\n\n"
113 "Cancelling now may leave your PC in an\n"
114 "unbootable state\n\n"
115 "Are you sure you wish to cancel\n"
116 "this installation?\n";
118 static const char* KMsgProceed
=
121 #define MUIM_IC_NextStep (0x00335551)
122 #define MUIM_IC_PrevStep (0x00335552)
123 #define MUIM_IC_UndoSteps (0x00335553)
125 #define MUIM_IC_Install (0x00335554)
127 #define MUIM_FindDrives (0x00335555)
128 #define MUIM_PartitionFree (0x00335556)
129 #define MUIM_Partition (0x00335557)
130 #define MUIM_Format (0x00335558)
132 #define MUIM_IC_MakeDirs (0x00335559)
133 #define MUIM_IC_CopyFiles (0x0033555a)
134 #define MUIM_IC_CopyFile (0x0033555b)
136 #define MUIM_IC_CancelInstall (0x0033556a)
137 #define MUIM_IC_ContinueInstall (0x0033556b)
138 #define MUIM_IC_QuitInstall (0x0033556c)
140 #define MUIM_Reboot (0x0033556d)
141 #define MUIM_RefreshWindow (0x00335570)
143 /* to be made obsolete */
145 #define MUIA_Page (0x00335580)
147 #define MUIA_PartitionButton (0x00335581)
148 #define MUIA_Gauge1 (0x00335582)
149 #define MUIA_Gauge2 (0x00335583)
150 #define MUIA_Install (0x00335584)
152 #define MUIA_WelcomeMsg (0x0033558a)
153 #define MUIA_FinishedMsg (0x0033558b)
155 /* new - some/most will "vanish(tm)" */
157 #define MUIA_OBJ_Installer (0x0033558d)
158 #define MUIA_Grub_Options (0x0033558e)
159 #define MUIA_List_Options (0x0033558f)
161 #define MUIA_OBJ_Window (0x00335590)
162 #define MUIA_OBJ_WindowContent (0x00335591)
164 #define MUIA_OBJ_PageTitle (0x00335592)
165 #define MUIA_OBJ_PageHeader (0x00335593)
166 #define MUIA_OBJ_CActionStrng (0x00335594)
168 #define MUIA_OBJ_Back (0x00335595)
169 #define MUIA_OBJ_Proceed (0x00335596)
170 #define MUIA_OBJ_Cancel (0x00335597)
172 #define MUIA_IC_License_File (0x00335598)
173 #define MUIA_IC_License_Mandatory (0x00335599)
175 #define MUIA_IC_EnableUndo (0x00335599)
176 /* IO Retry Window */
178 #define MUIA_OBJ_IO_RWindow (0x0033559a)
179 #define MUIA_OBJ_IO_RText (0x0033559b)
180 #define MUIA_OBJ_IO_ROpt1 (0x0033559c)
181 #define MUIA_OBJ_IO_ROpt2 (0x0033559d)
182 #define MUIA_OBJ_IO_ROpt3 (0x0033559e)
184 #define MUIA_IIO_Flag (0x0033559f)
186 /* Install Results */
188 #define MUIA_InstallComplete (0x003355ff)
189 #define MUIA_InstallFailed (0x003355fe)
191 #define MUIV_Inst_Completed (0xff)
192 #define MUIV_Inst_InProgress (0x00)
193 #define MUIV_Inst_Cancelled (0x01)
194 #define MUIV_Inst_Failed (0x10)
211 struct MUIP_CopyFiles
223 CONST_STRPTR srcFile
;
224 CONST_STRPTR dstFile
;
231 EPartitionOptionsStage
,
232 EInstallOptionsStage
,
235 EInstallMessageStage
,
241 struct Install_Options
245 Object
*opt_lic_mgrp
;
246 Object
*opt_partition
;
247 Object
*opt_partmethod
;
250 Object
*opt_copycore
;
251 Object
*opt_copyextra
;
252 Object
*opt_development
;
253 Object
*opt_bootloader
;
269 struct InstallC_UndoRecord
271 struct Node undo_Node
;
284 IPTR opt_development
;
308 Object
*actioncurrent
;
326 /** Start IO Related **/
329 ULONG IO_Always_overwrite
;
331 #define IIO_Overwrite_Ask 0
332 #define IIO_Overwrite_Always 1
333 #define IIO_Overwrite_Never 2
344 #define IIO_Selected_Opt1 1
345 #define IIO_Selected_Opt2 2
346 #define IIO_Selected_Opt3 3
348 /** END IO Related **/
350 IPTR instc_lic_buffer
;
351 IPTR instc_lic_mandatory
;
353 BOOL instc_undoenabled
;
354 struct MinList instc_undorecord
;
356 /** Option Related **/
358 struct Install_Options
*instc_options_main
;
359 struct Grub_Options
*instc_options_grub
;
360 struct optionstmp
*instc_options_backup
;
361 enum EStage instc_stage_prev
;
362 enum EStage instc_stage_next
;