From 5a42f97a604b79538c7474bf55e2c9f9433c3811 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Wed, 22 Jun 2005 14:09:17 +0000 Subject: [PATCH] =?UTF-8?q?1=20more=20TODO=EF=BF=BDitem=20gone=20:)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SVN revision: 15487 --- TODO | 2 -- data/init/init.edc | 14 ++++++++++++++ src/bin/e_init.c | 16 +++++++++++++++- src/bin/e_init.h | 3 ++- src/bin/e_main.c | 10 ---------- src/bin/e_startup.c | 8 ++++++-- 6 files changed, 37 insertions(+), 16 deletions(-) diff --git a/TODO b/TODO index 5089ab7e8..f89bfc4d7 100644 --- a/TODO +++ b/TODO @@ -137,8 +137,6 @@ These are in no particular order: * make xrandr support get rotation and store it * add separate app menu bars at top of screen support * add really nice "about" box with theme, authors credits list etc etc. -* init splash needs te be able to be signalled "end of init" and it can - respond with a "splash end" signal * "immortal" windows (e will not allow that window to be closed or will refuse to exit as long as the immortal flags is set until it is unset to stop users from doing silly things like logging out while important stuff diff --git a/data/init/init.edc b/data/init/init.edc index 47567d2b0..84cbd8fe3 100644 --- a/data/init/init.edc +++ b/data/init/init.edc @@ -1304,6 +1304,20 @@ collections { after: "logo_animate4"; } + program { + name: "done1"; + signal: "done"; + source: ""; + action: STATE_SET "default" 0.0; + transition: SINUSOIDAL 1.0; + target: "logo_point"; + after: "done2"; + } + program { + name: "done2"; + action: SIGNAL_EMIT "done_ok" ""; + } + program { name: "disable_down"; signal: "mouse,down,1"; diff --git a/src/bin/e_init.c b/src/bin/e_init.c index 053716330..9cd1ae90e 100644 --- a/src/bin/e_init.c +++ b/src/bin/e_init.c @@ -5,6 +5,7 @@ static void _e_init_icons_del(void); static void _e_init_cb_signal_disable(void *data, Evas_Object *obj, const char *emission, const char *source); +static void _e_init_cb_signal_done_ok(void *data, Evas_Object *obj, const char *emission, const char *source); /* local subsystem globals */ static Ecore_X_Window _e_init_win = 0; @@ -110,6 +111,8 @@ e_init_init(void) _("Disable this splash screen in the future?")); edje_object_signal_callback_add(_e_init_object, "disable_state", "*", _e_init_cb_signal_disable, NULL); + edje_object_signal_callback_add(_e_init_object, "done_ok", "*", + _e_init_cb_signal_done_ok, NULL); free(roots); return 1; } @@ -175,7 +178,12 @@ e_init_window_get(void) return _e_init_win; } -/* code for displaying startup icons */ +void +e_init_done(void) +{ + if (!_e_init_object) return; + edje_object_signal_emit(_e_init_object, "done", ""); +} void e_init_icons_app_add(E_App *app) @@ -247,3 +255,9 @@ _e_init_cb_signal_disable(void *data, Evas_Object *obj, const char *emission, co else e_config->show_splash = 1; e_config_save_queue(); } + +static void +_e_init_cb_signal_done_ok(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + e_init_hide(); +} diff --git a/src/bin/e_init.h b/src/bin/e_init.h index e70881fdf..b33fcc81d 100644 --- a/src/bin/e_init.h +++ b/src/bin/e_init.h @@ -14,7 +14,8 @@ EAPI void e_init_title_set(const char *str); EAPI void e_init_version_set(const char *str); EAPI void e_init_status_set(const char *str); EAPI Ecore_X_Window e_init_window_get(void); - +EAPI void e_init_done(void); + EAPI void e_init_icons_app_add(E_App *app); #endif diff --git a/src/bin/e_main.c b/src/bin/e_main.c index bba1b33b5..8d6a9e2ea 100644 --- a/src/bin/e_main.c +++ b/src/bin/e_main.c @@ -481,9 +481,6 @@ main(int argc, char **argv) if (!((!e_config->show_splash) || (after_restart))) { - ecore_timer_add( 3.0, _e_main_cb_startup_fake_status, _("Artificially slowing startup so you can see it all.")); - ecore_timer_add( 7.5, _e_main_cb_startup_fake_status, _("This is development code, so be warned.")); - ecore_timer_add(12.0, _e_main_cb_startup_fake_status, _("Most features do not work yet, and those that do are buggy.")); ecore_timer_add(16.0, _e_main_cb_startup_fake_end, NULL); } @@ -976,13 +973,6 @@ _e_main_cb_idler_after(void *data __UNUSED__) return 1; } -static int -_e_main_cb_startup_fake_status(void *data) -{ - e_init_status_set((const char *)data); - return 0; -} - static int _e_main_cb_startup_fake_end(void *data __UNUSED__) { diff --git a/src/bin/e_startup.c b/src/bin/e_startup.c index 2ab3b6a59..3fe21a81a 100644 --- a/src/bin/e_startup.c +++ b/src/bin/e_startup.c @@ -47,7 +47,11 @@ _e_startup(void) E_App *a; char buf[4096]; - if (!startup_apps) return; + if (!startup_apps) + { + e_init_done(); + return; + } a = evas_list_nth(startup_apps->subapps, start_app_pos); start_app_pos++; if (!a) @@ -57,7 +61,7 @@ _e_startup(void) start_app_pos = -1; waiting_app = NULL; e_app_change_callback_del(_e_startup_app_exit_cb, NULL); -// e_init_hide(); + e_init_done(); return; } e_app_exec(a);