OSDN Git Service

Use XML templates to adapt to download host changes.
[mingw/mingw-get.git] / src / setup.rc
1 /*
2  * setup.rc
3  *
4  * $Id$
5  *
6  * Written by Keith Marshall <keith@users.osdn.me>
7  * Copyright (C) 2013, 2017, 2020, MinGW.org Project
8  *
9  *
10  * Resource definitions for the mingw-get-setup.exe implementation.
11  *
12  *
13  * This is free software.  Permission is granted to copy, modify and
14  * redistribute this software, under the provisions of the GNU General
15  * Public License, Version 3, (or, at your option, any later version),
16  * as published by the Free Software Foundation; see the file COPYING
17  * for licensing details.
18  *
19  * Note, in particular, that this software is provided "as is", in the
20  * hope that it may prove useful, but WITHOUT WARRANTY OF ANY KIND; not
21  * even an implied WARRANTY OF MERCHANTABILITY, nor of FITNESS FOR ANY
22  * PARTICULAR PURPOSE.  Under no circumstances will the author, or the
23  * MinGW Project, accept liability for any damages, however caused,
24  * arising from the use of this software.
25  *
26  */
27 #include "setup.h"
28 #include "guimain.h"
29
30 #include <windows.h>
31
32 /* Version identification resources which are spectific to the
33  * package setup tool, mingw-get-setup.exe
34  */
35 #define VERINFO_INTERNAL_NAME           "%PACKAGE_NAME%-setup"
36
37 #define VERINFO_FILE_NAME               VERINFO_INTERNAL_NAME ".exe"
38 #define VERINFO_FILE_DESCRIPTION        "MinGW Installation Manager Setup Tool"
39 #define VERINFO_FILE_VERSION_STRING     VERINFO_PRODUCT_VERSION_STRING
40 #define VERINFO_FILE_VERSION            VERINFO_PRODUCT_VERSION
41
42 /* Interpret the foregoing, together with common product version
43  * information, in this package component context.
44  */
45 #include "verinfo.rc"
46
47 /* The icon representing the mingw-get application; it is a clone
48  * of the icon representing the synaptic package for Debian APT.
49  */
50 ID_MAIN_WINDOW ICON DISCARDABLE         "pkgicon.ico"
51
52 IDD_SETUP_BEGIN DIALOG DISCARDABLE      80, 50, 300, 250
53  /*
54   * Template for the layout and content of the top level dialogue panel
55   * which acts as the opening view within the setup tool.
56   */
57   STYLE                                 DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_DLGFRAME
58   FONT                                  9, "Verdana"
59   BEGIN
60     DEFPUSHBUTTON                       "Install", IDOK, 170, 225, 50, 14
61     PUSHBUTTON                          "View Licence", ID_SETUP_SHOW_LICENCE, 20, 225, 80, 14
62     PUSHBUTTON                          "Cancel", IDCANCEL, 230, 225, 50, 14
63     ICON                                ID_MAIN_WINDOW, ID_MAIN_WINDOW, 140, 28, 0, 0
64     CTEXT                               "%PACKAGE_NAME% version %PACKAGE_VERSION%", -1, 0, 8, 300, 20
65     CTEXT                               "Written by Keith Marshall", -1, 0, 58, 300, 12
66     CTEXT                               VERINFO_COPYRIGHT_NOTICE, \
67                                         -1, 0, 70, 300, 12
68     CTEXT                               "http://mingw.org", -1, 0, 82, 300, 12
69     CTEXT                               "\
70 This is free software; see the product documentation or source code, for copying and redistribution \
71 conditions.  There is NO WARRANTY; not even an implied WARRANTY OF MERCHANTABILITY, nor of FITNESS FOR \
72 ANY PARTICULAR PURPOSE.", -1, 10, 108, 280, 40
73     CTEXT                               "\
74 This tool will guide you through the first time setup of the MinGW Installation Manager software \
75 (mingw-get) on your computer; additionally, it will offer you the opportunity to install some other \
76 common components of the MinGW software distribution.\n\n\
77 After first time setup has been completed, you should invoke the MinGW Installation Manager directly, \
78 (either the CLI mingw-get.exe variant, or its GUI counterpart, according to your preference), when you \
79 wish to add or to remove components, or to upgrade your MinGW software installation.", \
80 -1, 10, 148, 280, 70
81   END
82
83 /* Include a manifest resource, to support visual style attributes
84  * and unprivileged UAC, when running on current MS-Windows variants.
85  */
86 #include "manifest.rc"
87
88 STRINGTABLE DISCARDABLE
89  /*
90   * Miscellaneous string constants.
91   */
92   BEGIN
93     ID_MAIN_WINDOW_CLASS                "mingw-get"
94     ID_MAIN_WINDOW_CAPTION              "MinGW Installation Manager"
95     ID_MAIN_DIALOGUE_CAPTION             VERINFO_FILE_DESCRIPTION
96     ID_PACKAGE_BASE_DISTNAME            "%PACKAGE_BASE_DISTNAME%"
97     ID_PACKAGE_DATA_DISTNAME            "%PACKAGE_DATA_DISTNAME%"
98     ID_DOWNLOAD_HOST_URI                "%PACKAGE_DIST_URL%/%F"
99     ID_FONT_PREF                        "Verdana"
100   END
101
102 #define SS_CTEXTBOX                     SS_SUNKEN | SS_CENTER
103 #define ES_VT100                        ES_LEFT | ES_READONLY | ES_MULTILINE | ES_AUTOVSCROLL
104
105 IDD_SETUP_LICENCE DIALOG DISCARDABLE    2, 90, 296, 105
106  /*
107   * Template for the embedded dialogue pane which is presented to seek
108   * confirmation of a user request, to invoke the web browser in order
109   * to display the product licence (GPLv3).
110   */
111   STYLE                                 WS_POPUP
112   FONT                                  10, "Verdana"
113   BEGIN
114     GROUPBOX                            " Licensing Terms ", -1, 4, 0, 288, 101
115     ICON                                IDI_INFORMATION, IDI_INFORMATION, 17, 15, 0, 0
116     LTEXT                               "This is free software.  Permission is granted to copy, " \
117                                         "modify, and redistribute this software under the terms " \
118                                         "of the GNU General Public License, Version 3, (or, at " \
119                                         "your option, any later version), as published", \
120                                         -1, 40, 11, 242, 25
121     LTEXT                               "by the Free Software Foundation.", -1, 14, 35, 266, 10
122     LTEXT                               "By selecting the appropriate option below, you may " \
123                                         "submit a request to display the full text of the license " \
124                                         "document in your preferred internet browser; (there may " \
125                                         "be some delay, while the browser starts up, and fetches " \
126                                         "the document).", -1, 14, 48, 266, 25
127     DEFPUSHBUTTON                       "Submit Request", IDOK, 18, 80, 124, 13
128     PUSHBUTTON                          "Cancel Request", IDCANCEL, 154, 80, 124, 13
129   END
130
131 IDD_SETUP_OPTIONS DIALOG DISCARDABLE    2, 49, 296, 165
132  /*
133   * Template for the embedded dialogue pane which is presented to offer
134   * a choice of user configurable installation options.
135   */
136   STYLE                                 WS_POPUP
137   FONT                                  10, "Verdana"
138   BEGIN
139     CTEXT                               "Step 1: Specify Installation Preferences", \
140                                         -1, 4, 0, 288, 11
141     GROUPBOX                            " Installation Directory ", -1, 4, 10, 288, 48
142     EDITTEXT                            ID_SETUP_CURDIR, 9, 21, 229, 11, ES_LEFT | ES_READONLY
143     PUSHBUTTON                          "Change", ID_SETUP_CHDIR, 247, 20, 40, 13
144     LTEXT                               "If you elect to change this, you are advised to avoid any " \
145                                         "choice of directory which includes white space within the " \
146                                         "absolute representation of its path name.", \
147                                         -1, 9, 38, 278, 18
148     GROUPBOX                            " User Interface Options ", -1, 4, 60, 288, 81
149     LTEXT                               "Both command line and graphical options are available.  The " \
150                                         "command line interface is always supported; the alternative " \
151                                         "only if you choose the following option to ...", \
152                                         -1, 9, 70, 278, 18
153     AUTOCHECKBOX                        " ... also install support for the graphical user interface.", \
154                                         ID_SETUP_WITH_GUI, 9, 86, 278, 11
155     LTEXT                               "Program shortcuts for launching the graphical user interface " \
156                                         "should be installed ...", \
157                                         -1, 9, 99, 278, 11
158     AUTORADIOBUTTON                     " ... just for me (the current user), or ...", \
159                                         ID_SETUP_ME_ONLY, 9, 107, 145, 11
160     AUTORADIOBUTTON                     " ... for all users * ...", \
161                                         ID_SETUP_ALL_USERS, 155, 107, 118, 11, WS_DISABLED
162     AUTOCHECKBOX                        " ... in the start menu, and/or ...", \
163                                         ID_SETUP_START_MENU, 9, 117, 118, 11
164     AUTOCHECKBOX                        " ... on the desktop.", \
165                                         ID_SETUP_DESKTOP, 130, 117, 100, 11
166     LTEXT                               "*  selection of this option requires administrative privilege.", \
167                                         -1, 10, 129, 278, 11
168     PUSHBUTTON                          "View Licence", ID_SETUP_SHOW_LICENCE, 18, 147, 80, 13
169     DEFPUSHBUTTON                       "Continue", IDOK, 170, 147, 50, 13
170     PUSHBUTTON                          "Cancel", IDCANCEL, 230, 147, 50, 13
171   END
172
173 IDD_SETUP_UNWISE DIALOG DISCARDABLE     0, 60, 296, 105
174  /*
175   * Template for the embedded warning dialogue pane which is displayed
176   * to warn the user of an ill advised choice of installation directory.
177   */
178   STYLE                                 WS_POPUP
179   FONT                                  10, "Verdana"
180   BEGIN
181     GROUPBOX                            " WARNING: Unwise Directory Selection ", -1, 4, 0, 288, 81
182     ICON                                IDI_WARNING, IDI_WARNING, 9, 11, 0, 0
183     LTEXT                               "You appear to have ignored the advice offered above, since " \
184                                         "your choice of installation directory includes white space " \
185                                         "in its path name.", -1, 29, 11, 258, 19
186     LTEXT                               "It is strongly recommended that you reconsider this unwise " \
187                                         "choice of installation directory, and choose a more suitable " \
188                                         "alternative.  If you persist with this choice, you may find " \
189                                         "that your MinGW installation does not function correctly, " \
190                                         "and that MinGW Project Members will decline to support you.", \
191                                         -1, 9, 30, 278, 34
192     AUTOCHECKBOX                        " I have considered the advice above; notwithstanding, " \
193                                         "I choose to ignore it.", IDIGNORE, 9, 66, 278, 10
194     DEFPUSHBUTTON                       "Choose an Alternative", IDNO, 18, 88, 126, 13
195     PUSHBUTTON                          "Accept my Choice Anyway", IDYES, 154, 88, 126, 13, WS_DISABLED
196   END
197
198 IDD_SETUP_EXISTS DIALOG DISCARDABLE     0, 60, 295, 85
199  /*
200   * Template for the embedded warning dialogue pane which is displayed
201   * when the setup tool detects a pre-existing installation of mingw-get,
202   * within the directory tree designated for a new installation; it then
203   * offers the choice to reinstall, change configuration, or abort.
204   */
205   STYLE                                 WS_POPUP
206   FONT                                  10, "Verdana"
207   BEGIN
208     GROUPBOX                            " ERROR: Application is Already Installed", -1, 4, 0, 288, 81
209     ICON                                IDI_ERROR, IDI_ERROR, 15, 14, 0, 0
210     LTEXT                               "There appears to be a copy of mingw-get installed in this " \
211                                         "directory already; you should use this installed copy of " \
212                                         "the program to manage your installation.", -1, 42, 11, 240, 35
213     LTEXT                               "Would you like to run the installed copy of mingw-get now, " \
214                                         "reinstall it, change your choice of installation directory, " \
215                                         "or quit?", -1, 9, 38, 278, 16
216     DEFPUSHBUTTON                       "Run Now", ID_SETUP_RUN, 18, 60, 50, 13
217     PUSHBUTTON                          "Reinstall", IDOK, 78, 60, 50, 13
218     PUSHBUTTON                          "Change Directory", IDRETRY, 138, 60, 82, 13
219     PUSHBUTTON                          "Quit", IDCANCEL, 230, 60, 50, 13
220   END
221
222 IDD_SETUP_DOWNLOAD DIALOG DISCARDABLE   2, 49, 296, 165
223   /*
224    * Template for the embedded dialogue pane which is displayed to monitor
225    * the progress of package downloads initiated by the setup tool.
226    */
227   STYLE                                 WS_POPUP
228   FONT                                  10, "Verdana"
229   BEGIN
230     CTEXT                               "Step 2: Download and Set Up MinGW Installation Manager", \
231                                         -1, 4, 0, 288, 11
232     GROUPBOX                            " Download Progress ", -1, 4, 10, 288, 54
233     LTEXT                               "", IDD_PROGRESS_MSG, 9, 20, 278, 10
234     CONTROL                             "", IDD_PROGRESS_VAL, "STATIC", SS_CTEXTBOX, 9, 32, 105, 10
235     CTEXT                               "of", -1, 115, 32, 16, 10
236     CONTROL                             "", IDD_PROGRESS_MAX, "STATIC", SS_CTEXTBOX, 132, 32, 105, 10
237     CTEXT                               ":", -1, 238, 32, 8, 10
238     CONTROL                             "", IDD_PROGRESS_PCT, "STATIC", SS_CTEXTBOX, 247, 32, 40, 10
239     CONTROL                             "", IDD_PROGRESS_BAR, PROGRESS_CLASS, WS_CHILD | PBS_SMOOTH, \
240                                         9, 47, 278, 10
241     GROUPBOX                            " Details ", -1, 4, 65, 288, 75
242     EDITTEXT                            IDD_DMH_CONSOLE, 5, 75, 286, 64, WS_BORDER | WS_VSCROLL | ES_VT100
243     PUSHBUTTON                          "View Licence", ID_SETUP_SHOW_LICENCE, 18, 147, 80, 13
244     DEFPUSHBUTTON                       "Continue", IDOK, 172, 147, 50, 13, WS_DISABLED
245     PUSHBUTTON                          "Quit", IDCANCEL, 232, 147, 50, 13, WS_DISABLED
246   END
247
248 /* $RCSfile$: end of file */