From b891b071bec6a6186a161012bcd73511d9ea00f2 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Mon, 22 Feb 2016 20:44:07 +0900 Subject: [PATCH] edc_navigator: not completed. but first patch set for base layout & infra --- README | 2 +- data/about/ABOUT | 2 +- data/themes/default/images.edc | 2 + data/themes/default/images/Makefile.am | 3 +- data/themes/default/images/edc_navigator.png | Bin 0 -> 2876 bytes data/themes/default/layout_common.edc | 38 +++++++++++++-- src/bin/base_gui.c | 13 +++++ src/bin/config_data.c | 20 +++++++- src/bin/main.c | 5 +- src/bin/setting.c | 7 +++ src/bin/tools.c | 48 +++++++++++++++++-- src/include/base_gui.h | 1 + src/include/common.h | 2 +- src/include/config_data.h | 2 + src/include/tools.h | 1 + 15 files changed, 129 insertions(+), 17 deletions(-) create mode 100644 data/themes/default/images/edc_navigator.png diff --git a/README b/README index 24457f0..7ef320d 100644 --- a/README +++ b/README @@ -36,7 +36,7 @@ F3 - Save F4 - Load F5 - Toggle Line Number F9 - Toggle Tools -F10 - Toggle Console +F10 - Toggle EDC Navigator F11 - Toggle Status F12 - Settings diff --git a/data/about/ABOUT b/data/about/ABOUT index f6f9119..c42ee1e 100644 --- a/data/about/ABOUT +++ b/data/about/ABOUT @@ -18,7 +18,7 @@ F3 - Save
F4 - Load
F5 - Toggle Line Number
F9 - Toggle Tools
-F10 - Toggle Console
+F10 - Toggle EDC Navigator
F11 - Toggle Status
F12 - Settings

diff --git a/data/themes/default/images.edc b/data/themes/default/images.edc index 1756b86..02b9507 100644 --- a/data/themes/default/images.edc +++ b/data/themes/default/images.edc @@ -21,6 +21,7 @@ images { image: "live_textblock.png" COMP; image: "expand.png" COMP; image: "invert.png" COMP; + image: "edc_navigator.png" COMP; } #define ICON_GROUP(_group_name, _image_path) \ @@ -55,5 +56,6 @@ ICON_GROUP("Swallow", "live_swallow.png") ICON_GROUP("Text", "live_text.png") ICON_GROUP("Textblock", "live_textblock.png") ICON_GROUP("close", "icon_close.png") +ICON_GROUP("edc_navigator", "edc_navigator.png") #undef ICON_GROUP diff --git a/data/themes/default/images/Makefile.am b/data/themes/default/images/Makefile.am index 58eab21..97e9c5a 100644 --- a/data/themes/default/images/Makefile.am +++ b/data/themes/default/images/Makefile.am @@ -70,4 +70,5 @@ EXTRA_DIST = \ horizontal_separated_bar_small_glow.png \ expand.png \ invert.png \ - icon_close.png + icon_close.png \ + edc_navigator.png diff --git a/data/themes/default/images/edc_navigator.png b/data/themes/default/images/edc_navigator.png new file mode 100644 index 0000000000000000000000000000000000000000..881fa992640c929f6c162158eb3dfe09ef357fa6 GIT binary patch literal 2876 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, "elm,state,statusbar,hide", ""); } +void base_edc_navigator_toggle(Eina_Bool toggle) +{ + base_data *bd = g_bd; + assert(bd); + + if (toggle) config_edc_navigator_set(!config_edc_navigator_get()); + + if (config_edc_navigator_get()) + elm_object_signal_emit(bd->layout, "elm,state,edc_navigator,show", ""); + else + elm_object_signal_emit(bd->layout, "elm,state,edc_navigator,hide", ""); +} + void base_tools_toggle(Eina_Bool config) { diff --git a/src/bin/config_data.c b/src/bin/config_data.c index 0ea964f..0a457d8 100644 --- a/src/bin/config_data.c +++ b/src/bin/config_data.c @@ -38,6 +38,7 @@ typedef struct config_s Eina_Bool console; Eina_Bool auto_complete; Eina_Bool smart_undo_redo; + Eina_Bool edc_navigator; } config_data; static config_data *g_cd = NULL; @@ -158,7 +159,7 @@ config_load(void) } } // loaded config is not compatile with current version of Enventor - if (cd->version < ENVENTOR_CONFIG_VERSION) + if (!ef || cd->version < ENVENTOR_CONFIG_VERSION) { cd->img_path_list = NULL; cd->snd_path_list = NULL; @@ -180,6 +181,7 @@ config_load(void) cd->auto_complete = EINA_TRUE; cd->version = ENVENTOR_CONFIG_VERSION; cd->smart_undo_redo = EINA_FALSE; + cd->edc_navigator = EINA_TRUE; } g_cd = cd; @@ -288,6 +290,8 @@ eddc_init(void) auto_complete, EET_T_UCHAR); EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "smart_undo_redo", smart_undo_redo, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "edc_navigator", + edc_navigator, EET_T_UCHAR); } void @@ -876,3 +880,17 @@ config_tools_set(Eina_Bool enabled) config_data *cd = g_cd; cd->tools = enabled; } + +void +config_edc_navigator_set(Eina_Bool enabled) +{ + config_data *cd = g_cd; + cd->edc_navigator = enabled; +} + +Eina_Bool +config_edc_navigator_get(void) +{ + config_data *cd = g_cd; + return cd->edc_navigator; +} diff --git a/src/bin/main.c b/src/bin/main.c index 7d8618b..96e1a42 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -43,6 +43,7 @@ tools_update(void) tools_highlight_update(EINA_FALSE); tools_dummy_update(EINA_FALSE); tools_status_update(EINA_FALSE); + tools_edc_navigator_update(EINA_FALSE); } static void @@ -772,11 +773,11 @@ keygrabber_key_down_cb(void *data, Evas *e EINA_UNUSED, base_tools_toggle(EINA_TRUE); return; } - //Console + //EDC Navigator if (!strcmp(ev->key, "F10")) { enventor_object_ctxpopup_dismiss(ad->enventor); - base_console_toggle(); + tools_edc_navigator_update(EINA_TRUE); return; } //Statusbar diff --git a/src/bin/setting.c b/src/bin/setting.c index 9f2c684..3e1a667 100644 --- a/src/bin/setting.c +++ b/src/bin/setting.c @@ -23,6 +23,7 @@ struct setting_s Evas_Object *toggle_highlight; Evas_Object *toggle_swallow; Evas_Object *toggle_stats; + Evas_Object *toggle_edc_navigator; Evas_Object *toggle_tools; Evas_Object *toggle_console; @@ -414,6 +415,11 @@ general_layout_create(setting_data *sd, Evas_Object *parent) config_stats_bar_get()); elm_box_pack_end(box, toggle_stats); + //Toggle (EDC Navigator) + Evas_Object *toggle_edc_navigator = toggle_create(box, _("EDC Navigator"), + config_edc_navigator_get()); + elm_box_pack_end(box, toggle_edc_navigator); + //Toggle (Tools) Evas_Object *toggle_tools = toggle_create(box, _("Tools"), config_tools_get()); @@ -435,6 +441,7 @@ general_layout_create(setting_data *sd, Evas_Object *parent) sd->toggle_highlight = toggle_highlight; sd->toggle_swallow = toggle_swallow; sd->toggle_stats = toggle_stats; + sd->toggle_edc_navigator = toggle_edc_navigator; sd->toggle_tools = toggle_tools; sd->toggle_console = toggle_console; diff --git a/src/bin/tools.c b/src/bin/tools.c index ed7802d..def3209 100644 --- a/src/bin/tools.c +++ b/src/bin/tools.c @@ -8,6 +8,7 @@ typedef struct tools_s { Evas_Object *swallow_btn; Evas_Object *status_btn; + Evas_Object *edc_navigator_btn; Evas_Object *lines_btn; Evas_Object *highlight_btn; Evas_Object *goto_btn; @@ -31,25 +32,33 @@ menu_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, } static void -highlight_cb(void *data, Evas_Object *obj EINA_UNUSED, +highlight_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { tools_highlight_update(EINA_TRUE); } static void -dummy_cb(void *data, Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) +dummy_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) { tools_dummy_update(EINA_TRUE); } static void -lines_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +lines_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) { tools_lines_update(EINA_TRUE); } +static void +edc_navigator_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + tools_edc_navigator_update(EINA_TRUE); +} + static void status_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) @@ -238,7 +247,6 @@ tools_init(Evas_Object *parent) elm_box_pack_end(box, btn); td->lines_btn = btn; - sp = elm_separator_add(box); evas_object_show(sp); elm_box_pack_end(box, sp); @@ -250,6 +258,13 @@ tools_init(Evas_Object *parent) elm_box_pack_end(box, btn); td->console_btn = btn; + btn = tools_btn_create(box, "edc_navigator", _("EDC Navigator (F10)"), + edc_navigator_cb); + evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, 1.0, EVAS_HINT_FILL); + elm_box_pack_end(box, btn); + td->edc_navigator_btn = btn; + btn = tools_btn_create(box, "status", _("Status (F11)"), status_cb); evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn, 1.0, EVAS_HINT_FILL); @@ -309,6 +324,29 @@ tools_highlight_update(Eina_Bool toggle) elm_object_signal_emit(td->highlight_btn, "icon,highlight,disabled", ""); } +void +tools_edc_navigator_update(Eina_Bool toggle) +{ + tools_data *td = g_td; + if (!td) return; + + if (toggle) config_edc_navigator_set(!config_edc_navigator_get()); + + base_edc_navigator_toggle(EINA_FALSE); + + //Toggle on/off + if (config_edc_navigator_get()) + { + elm_object_signal_emit(td->edc_navigator_btn, "icon,highlight,enabled", + ""); + } + else + { + elm_object_signal_emit(td->edc_navigator_btn, "icon,highlight,disabled", + ""); + } +} + void tools_lines_update(Eina_Bool toggle) { diff --git a/src/include/base_gui.h b/src/include/base_gui.h index 1a96cac..12f861c 100644 --- a/src/include/base_gui.h +++ b/src/include/base_gui.h @@ -21,3 +21,4 @@ void base_gui_term(void); void base_console_reset(void); void base_error_msg_set(const char *msg); void base_console_full_view(void); +void base_edc_navigator_toggle(Eina_Bool toggle); diff --git a/src/include/common.h b/src/include/common.h index 21d938a..e0ddecb 100644 --- a/src/include/common.h +++ b/src/include/common.h @@ -57,7 +57,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n" #define ROUNDING(x, dig) (floor((x) * pow(10, dig) + 0.5) / pow(10, dig)) -#define ENVENTOR_CONFIG_VERSION 4 +#define ENVENTOR_CONFIG_VERSION 5 #define EVENT_KEY_MODIFIER_CHECK(NAME, MASK) \ ((MASK & ECORE_EVENT_MODIFIER_##NAME) && \ diff --git a/src/include/config_data.h b/src/include/config_data.h index 8abbf1f..0b2c06d 100644 --- a/src/include/config_data.h +++ b/src/include/config_data.h @@ -58,3 +58,5 @@ void config_win_size_get(Evas_Coord *w, Evas_Coord *h); void config_win_size_set(Evas_Coord w, Evas_Coord h); void config_smart_undo_redo_set(Eina_Bool smart_undo_redo); Eina_Bool config_smart_undo_redo_get(void); +void config_edc_navigator_set(Eina_Bool enabled); +Eina_Bool config_edc_navigator_get(void); diff --git a/src/include/tools.h b/src/include/tools.h index 33a2bc3..530b6f6 100644 --- a/src/include/tools.h +++ b/src/include/tools.h @@ -5,6 +5,7 @@ void tools_highlight_update(Eina_Bool toggle); void tools_lines_update(Eina_Bool toggle); void tools_dummy_update(Eina_Bool toggle); void tools_status_update(Eina_Bool toggle); +void tools_edc_navigator_update(Eina_Bool toggle); void tools_goto_update(void); void tools_search_update(void); void tools_live_update(Eina_Bool on);