Mercurial > hg > xemacs-beta
comparison netinstall/desktop.cc @ 707:a307f9a2021d
[xemacs-hg @ 2001-12-20 05:49:28 by andyp]
sync with 21-4-6-windows
author | andyp |
---|---|
date | Thu, 20 Dec 2001 05:49:48 +0000 |
parents | 42a8626b741e |
children | 6504113e7c2d |
comparison
equal
deleted
inserted
replaced
706:c9bf82d465b5 | 707:a307f9a2021d |
---|---|
39 #include "version.h" | 39 #include "version.h" |
40 #include "reginfo.h" | 40 #include "reginfo.h" |
41 #include "regedit.h" | 41 #include "regedit.h" |
42 #include "port.h" | 42 #include "port.h" |
43 #include "log.h" | 43 #include "log.h" |
44 #include "desktop.h" | |
44 | 45 |
45 extern "C" { | 46 extern "C" { |
46 void make_link_2 (char *exepath, char *args, char *icon, char *lname); | 47 void make_link_2 (char *exepath, char *args, char *icon, char *lname); |
47 }; | 48 }; |
48 | 49 |
100 msg ("make_link_2 (%s, %s, %s, %s)", exepath, args, iconname, fname); | 101 msg ("make_link_2 (%s, %s, %s, %s)", exepath, args, iconname, fname); |
101 make_link_2 (backslash (exepath), args, iconname, fname); | 102 make_link_2 (backslash (exepath), args, iconname, fname); |
102 } | 103 } |
103 | 104 |
104 static char* | 105 static char* |
106 find_xemacs_version () | |
107 { | |
108 char* v = strdup (xemacs_package->info[xemacs_package->trust].version); | |
109 char* dash = strrchr (v, '-'); | |
110 if (dash) | |
111 *dash = 0; | |
112 return v; | |
113 } | |
114 | |
115 static char* | |
105 find_xemacs_exe_path () | 116 find_xemacs_exe_path () |
106 { | 117 { |
107 if (xemacs_package->type == TY_CYGWIN) | 118 if (xemacs_package->type == TY_CYGWIN) |
108 return backslash (concat (root_dir, "/bin/", XEMACS_CYGWIN_ARCH_NAME, 0)); | 119 return backslash (concat (root_dir, "/bin/", XEMACS_CYGWIN_ARCH_NAME, 0)); |
109 else | 120 else |
110 return backslash (concat (root_dir, "\\XEmacs-", | 121 return backslash (concat (root_dir, "\\XEmacs-", |
111 xemacs_package->info[xemacs_package->trust].version, | 122 find_xemacs_version (), |
112 "\\", XEMACS_NATIVE_ARCH_NAME, 0)); | 123 "\\", XEMACS_NATIVE_ARCH_NAME, 0)); |
113 } | 124 } |
114 | 125 |
115 char* | 126 char* |
116 find_xemacs_exe_name () | 127 find_xemacs_exe_name () |
119 if (strncmp (xemacs_package->info[xemacs_package->trust].version, | 130 if (strncmp (xemacs_package->info[xemacs_package->trust].version, |
120 "21.1", 4) == 0) | 131 "21.1", 4) == 0) |
121 return strdup ("runemacs.exe"); | 132 return strdup ("runemacs.exe"); |
122 else if (xemacs_package->type == TY_CYGWIN) | 133 else if (xemacs_package->type == TY_CYGWIN) |
123 return backslash (concat ("xemacs-", | 134 return backslash (concat ("xemacs-", |
124 xemacs_package->info[xemacs_package->trust].version, | 135 find_xemacs_version (), |
125 ".exe", 0)); | 136 ".exe", 0)); |
126 else | 137 else |
127 return strdup ("xemacs.exe"); | 138 return strdup ("xemacs.exe"); |
128 } | 139 } |
129 | 140 |
218 fclose (f); | 229 fclose (f); |
219 } | 230 } |
220 } | 231 } |
221 | 232 |
222 void | 233 void |
234 remove_xemacs_setup() | |
235 { | |
236 if (xemacs_package == 0) | |
237 return; | |
238 | |
239 start_menu ("XEmacs", 0, 1, 0); | |
240 desktop_icon ("XEmacs", 0, 1); | |
241 | |
242 #define FROB(exe) remove_app_path (exe) | |
243 FROB (find_xemacs_exe_name ()); | |
244 FROB ("runemacs.exe"); | |
245 FROB ("xemacs.exe"); | |
246 #undef FROB | |
247 } | |
248 | |
249 void | |
223 remove_desktop_setup() | 250 remove_desktop_setup() |
224 { | 251 { |
225 start_menu ("XEmacs", 0, 1, 0); | 252 remove_xemacs_setup(); |
226 start_menu ("Uninstall XEmacs", 0, 1, 0); | 253 start_menu ("Uninstall XEmacs", 0, 1, 0); |
227 start_menu (0, 0, 1, 0); | 254 start_menu (0, 0, 1, 0); |
228 desktop_icon ("XEmacs", 0, 1); | |
229 | |
230 if (xemacs_package != 0) | |
231 { | |
232 #define FROB(exe) remove_app_path (exe) | |
233 FROB (find_xemacs_exe_name ()); | |
234 FROB ("runemacs.exe"); | |
235 FROB ("xemacs.exe"); | |
236 #undef FROB | |
237 } | |
238 } | 255 } |
239 | 256 |
240 static void | 257 static void |
241 do_desktop_setup() | 258 do_desktop_setup() |
242 { | 259 { |