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 {