hermet pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=faf6a5f803c28c4a669cd652835d7b70a7627d32
commit faf6a5f803c28c4a669cd652835d7b70a7627d32 Author: ChunEon Park <[email protected]> Date: Thu Jan 30 03:17:59 2014 +0900 hotkeys - enable f5, f6 hotkeys. --- src/bin/edc_editor.c | 1 + src/bin/hotkeys.c | 21 ++++++++++----------- src/bin/main.c | 30 ++++++++++++++++++------------ src/include/globals.h | 1 + src/include/hotkeys.h | 2 +- 5 files changed, 31 insertions(+), 24 deletions(-) diff --git a/src/bin/edc_editor.c b/src/bin/edc_editor.c index ee81afc..1715bac 100644 --- a/src/bin/edc_editor.c +++ b/src/bin/edc_editor.c @@ -827,6 +827,7 @@ edit_changed_set(edit_data *ed, Eina_Bool changed) void edit_line_number_toggle(edit_data *ed) { + //FIXME: edit & config toogle should be handled in one place. Eina_Bool linenumber = config_linenumber_get(); if (ed->linenumber == linenumber) return; ed->linenumber = linenumber; diff --git a/src/bin/hotkeys.c b/src/bin/hotkeys.c index 3e2b91e..edc5d24 100644 --- a/src/bin/hotkeys.c +++ b/src/bin/hotkeys.c @@ -34,18 +34,19 @@ static void f5_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { -/* app_data *ad = data; - config_linenumber_set(ad->cd, !config_linenumber_get(ad->cd)); - edit_line_number_toggle(ad->ed); */ + edit_data *ed = data; + config_linenumber_set(!config_linenumber_get()); + edit_line_number_toggle(ed); } static void f6_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { -/* app_data *ad = data; - config_stats_bar_set(ad->cd, !config_stats_bar_get(ad->cd)); - statusbar_toggle(ad); */ + //FIXME: ... how ad can be passed here? should be cut off from here. + app_data *ad = data; + config_stats_bar_set(!config_stats_bar_get()); + statusbar_toggle(ad); } static void @@ -71,7 +72,7 @@ btn_create(Evas_Object *parent, const char *text, Evas_Smart_Cb cb, void *data) } Evas_Object * -hotkeys_create(Evas_Object *parent) +hotkeys_create(Evas_Object *parent, app_data *ad, edit_data *ed) { Evas_Object *box = elm_box_add(parent); elm_box_horizontal_set(box, EINA_TRUE); @@ -91,12 +92,10 @@ hotkeys_create(Evas_Object *parent) btn = btn_create(box, "F4: Load", f4_cb, NULL); elm_box_pack_end(box, btn); - btn = btn_create(box, "F5: ---", f5_cb, NULL); - elm_object_disabled_set(btn, EINA_TRUE); + btn = btn_create(box, "F5: Line Num", f5_cb, ed); elm_box_pack_end(box, btn); - btn = btn_create(box, "F6: ---", f6_cb, NULL); - elm_object_disabled_set(btn, EINA_TRUE); + btn = btn_create(box, "F6: Status", f6_cb, ad); elm_box_pack_end(box, btn); btn = btn_create(box, "F7: ---", NULL, NULL); diff --git a/src/bin/main.c b/src/bin/main.c index 1fde255..71cc54a 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -129,15 +129,6 @@ main_key_up_cb(void *data, int type EINA_UNUSED, void *ev) } static void -statusbar_toggle(app_data *ad) -{ - if (config_stats_bar_get()) - elm_object_signal_emit(ad->layout, "elm,state,statusbar,show", ""); - else - elm_object_signal_emit(ad->layout, "elm,state,statusbar,hide", ""); -} - -static void part_highlight_toggle(app_data *ad, Eina_Bool msg) { Eina_Bool highlight = config_part_highlight_get(); @@ -573,6 +564,13 @@ edj_mgr_set(app_data *ad) elm_object_part_content_set(ad->panes, "left", edj_mgr_obj_get(ad->em)); } +static void +hotkeys_set(Evas_Object *layout, app_data *ad, edit_data *ed) +{ + Evas_Object *hotkeys = hotkeys_create(layout, ad, ed); + elm_object_part_content_set(layout, "elm.swallow.hotkeys", hotkeys); +} + static Eina_Bool init(app_data *ad, int argc, char **argv) { @@ -596,9 +594,7 @@ init(app_data *ad, int argc, char **argv) edc_edit_set(ad, ad->sd); edc_view_set(ad, ad->sd, stats_group_name_get(ad->sd)); menu_init(ad->win, ad->ed); - - Evas_Object *hotkeys = hotkeys_create(ad->layout); - elm_object_part_content_set(ad->layout, "elm.swallow.hotkeys", hotkeys); + hotkeys_set(ad->layout, ad, ad->ed); ad->edc_monitor = eio_monitor_add(config_edc_path_get()); ecore_event_handler_add(EIO_MONITOR_FILE_MODIFIED, edc_changed_cb, ad); @@ -620,6 +616,16 @@ term(app_data *ad) ecore_event_shutdown(); } +//This function is used in hotkey. Maybe layout should be separated from main. +void +statusbar_toggle(app_data *ad) +{ + if (config_stats_bar_get()) + elm_object_signal_emit(ad->layout, "elm,state,statusbar,show", ""); + else + elm_object_signal_emit(ad->layout, "elm,state,statusbar,hide", ""); +} + int main(int argc, char **argv) { diff --git a/src/include/globals.h b/src/include/globals.h index 64b103a..bb1c8a1 100644 --- a/src/include/globals.h +++ b/src/include/globals.h @@ -1,3 +1,4 @@ extern const char *PROTO_EDC_PATH; extern char EDJE_PATH[PATH_MAX]; +void statusbar_toggle(app_data *ad); diff --git a/src/include/hotkeys.h b/src/include/hotkeys.h index 12e3fc2..6abff06 100644 --- a/src/include/hotkeys.h +++ b/src/include/hotkeys.h @@ -1,2 +1,2 @@ -Evas_Object *hotkeys_create(Evas_Object *parent); +Evas_Object *hotkeys_create(Evas_Object *parent, app_data *ad, edit_data *ed); --
