e17 can restart (from the menu) i NEED this now i'm using it... :)
SVN revision: 12248
This commit is contained in:
parent
5e2388c886
commit
c0bb100a15
|
@ -59,6 +59,7 @@ extern E_Path *path_images;
|
||||||
extern E_Path *path_fonts;
|
extern E_Path *path_fonts;
|
||||||
extern E_Path *path_themes;
|
extern E_Path *path_themes;
|
||||||
extern E_Path *path_init;
|
extern E_Path *path_init;
|
||||||
|
extern int restart;
|
||||||
|
|
||||||
/* convenience macro to compress code and avoid typos */
|
/* convenience macro to compress code and avoid typos */
|
||||||
#define E_FN_DEL(_fn, _h) \
|
#define E_FN_DEL(_fn, _h) \
|
||||||
|
|
|
@ -11,6 +11,7 @@ struct _About_Data
|
||||||
/* local subsystem functions */
|
/* local subsystem functions */
|
||||||
static void _e_int_menus_about_end (void *data, E_Menu *m);
|
static void _e_int_menus_about_end (void *data, E_Menu *m);
|
||||||
static void _e_int_menus_about_about (void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_int_menus_about_about (void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _e_int_menus_about_restart (void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_int_menus_about_exit (void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_int_menus_about_exit (void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_int_menus_apps_scan (E_Menu *m);
|
static void _e_int_menus_apps_scan (E_Menu *m);
|
||||||
static void _e_int_menus_apps_start (void *data, E_Menu *m);
|
static void _e_int_menus_apps_start (void *data, E_Menu *m);
|
||||||
|
@ -46,6 +47,10 @@ e_int_menus_about_new(void)
|
||||||
mi = e_menu_item_new(m);
|
mi = e_menu_item_new(m);
|
||||||
e_menu_item_separator_set(mi, 1);
|
e_menu_item_separator_set(mi, 1);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(m);
|
||||||
|
e_menu_item_label_set(mi, "Restart Enlightement");
|
||||||
|
e_menu_item_callback_set(mi, _e_int_menus_about_restart, NULL);
|
||||||
|
|
||||||
mi = e_menu_item_new(m);
|
mi = e_menu_item_new(m);
|
||||||
e_menu_item_label_set(mi, "Exit Enlightement");
|
e_menu_item_label_set(mi, "Exit Enlightement");
|
||||||
e_menu_item_callback_set(mi, _e_int_menus_about_exit, NULL);
|
e_menu_item_callback_set(mi, _e_int_menus_about_exit, NULL);
|
||||||
|
@ -95,6 +100,14 @@ _e_int_menus_about_about(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_int_menus_about_restart(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
printf("RESTART ON!\n");
|
||||||
|
restart = 1;
|
||||||
|
ecore_main_loop_quit();
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_int_menus_about_exit(void *data, E_Menu *m, E_Menu_Item *mi)
|
_e_int_menus_about_exit(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
{
|
{
|
||||||
|
|
|
@ -35,6 +35,7 @@ E_Path *path_images = NULL;
|
||||||
E_Path *path_fonts = NULL;
|
E_Path *path_fonts = NULL;
|
||||||
E_Path *path_themes = NULL;
|
E_Path *path_themes = NULL;
|
||||||
E_Path *path_init = NULL;
|
E_Path *path_init = NULL;
|
||||||
|
int restart = 0;
|
||||||
|
|
||||||
/* local subsystem functions */
|
/* local subsystem functions */
|
||||||
#define MAX_LEVEL 32
|
#define MAX_LEVEL 32
|
||||||
|
@ -273,6 +274,15 @@ main(int argc, char **argv)
|
||||||
|
|
||||||
/* unroll our stack of shutdown functions with exit code of 0 */
|
/* unroll our stack of shutdown functions with exit code of 0 */
|
||||||
_e_main_shutdown(0);
|
_e_main_shutdown(0);
|
||||||
|
|
||||||
|
/* if we were flagged to restart, then restart. */
|
||||||
|
if (restart)
|
||||||
|
{
|
||||||
|
printf("Restart...\n");
|
||||||
|
ecore_app_restart();
|
||||||
|
printf("eh? restart failed!\n");
|
||||||
|
}
|
||||||
|
|
||||||
/* just return 0 to keep the compiler quiet */
|
/* just return 0 to keep the compiler quiet */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -334,7 +344,7 @@ _e_main_shutdown(int errorcode)
|
||||||
}
|
}
|
||||||
for (i = _e_main_level - 1; i >= 0; i--)
|
for (i = _e_main_level - 1; i >= 0; i--)
|
||||||
(*_e_main_shutdown_func[i])();
|
(*_e_main_shutdown_func[i])();
|
||||||
exit(errorcode);
|
if (errorcode < 0) exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|
Loading…
Reference in New Issue