From 8c903986f35839730c6112b930f8c4d26454039c Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Mon, 17 Feb 2014 16:58:27 +0900 Subject: [PATCH 01/20] updated AUTHORS --- AUTHORS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/AUTHORS b/AUTHORS index 186b9b8..3d8efd2 100644 --- a/AUTHORS +++ b/AUTHORS @@ -2,3 +2,5 @@ Hermet (Chuneon Park) Cedric Bail Raoul Hecky Daniel Juyung Seo +Ryuan Choi +Jihoon Kim From de5139f31c75aa9fbb06e3a18e2d0cd6c65b2dd8 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Tue, 18 Feb 2014 11:47:09 +0900 Subject: [PATCH 02/20] config - place the enventor config foler in the XDG Config Home directory. --- README | 1 + src/bin/config_data.c | 8 +++++--- src/bin/main.c | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/README b/README index 5cfa72e..43cccee 100644 --- a/README +++ b/README @@ -15,6 +15,7 @@ it does a lot. ecore (>= 1.8.0) edje (>= 1.8.0) eio (>= 1.8.0) + efreet (>= 1.8.0) elementary (>= 1.8.0) Please note that some features may not quite function correctly or completely on diff --git a/src/bin/config_data.c b/src/bin/config_data.c index 8c6f5c4..4704f17 100644 --- a/src/bin/config_data.c +++ b/src/bin/config_data.c @@ -67,7 +67,8 @@ static Eina_Bool config_load(config_data *cd) { char buf[PATH_MAX]; - snprintf(buf, sizeof(buf), "%s/.enventor/config.eet", getenv("HOME")); + snprintf(buf, sizeof(buf), "%s/enventor/config.eet", + efreet_config_home_get()); Eet_File *ef = eet_open(buf, EET_FILE_MODE_READ); if (!ef) { @@ -129,7 +130,7 @@ static void config_save(config_data *cd) { char buf[PATH_MAX]; - snprintf(buf, sizeof(buf), "%s/.enventor", getenv("HOME")); + snprintf(buf, sizeof(buf), "%s/enventor", efreet_config_home_get()); //Create config folder if it doesn't exist. if (!ecore_file_exists(buf)) @@ -143,7 +144,8 @@ config_save(config_data *cd) } //Save config file. - snprintf(buf, sizeof(buf), "%s/.enventor/config.eet", getenv("HOME")); + snprintf(buf, sizeof(buf), "%s/enventor/config.eet", + efreet_config_home_get()); Eet_File *ef = eet_open(buf, EET_FILE_MODE_WRITE); if (!ef) { diff --git a/src/bin/main.c b/src/bin/main.c index 0b1fd50..38798cd 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -482,6 +482,7 @@ config_data_set(app_data *ad, int argc, char **argv) static void elm_setup() { + elm_need_efreet(); elm_config_profile_set("standard"); /* Recover the scale & theme since it will be reset by From 35605d5dd91b9ddfd919c1a01b5d4ea2f31fb582 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Tue, 18 Feb 2014 14:39:52 +0900 Subject: [PATCH 03/20] stats - update max line number if the edc is newly readed. --- src/bin/edc_editor.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/edc_editor.c b/src/bin/edc_editor.c index e4b2d96..5ace2e2 100644 --- a/src/bin/edc_editor.c +++ b/src/bin/edc_editor.c @@ -794,6 +794,7 @@ edit_edc_read(edit_data *ed, const char *file_path) parser_first_group_name_get(ed->pd, ed->en_edit); stats_edc_group_set(group_name); + stats_line_num_update(0, ed->line_max); base_title_set(config_edc_path_get()); ecore_animator_add(syntax_color_timer_cb, ed); From fdc0868632f701b1b141d79343865a50797cf53c Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Tue, 18 Feb 2014 14:42:30 +0900 Subject: [PATCH 04/20] stats - refactoring code. keep the func name consistency. --- src/bin/edc_editor.c | 2 +- src/bin/main.c | 2 +- src/bin/statusbar.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/bin/edc_editor.c b/src/bin/edc_editor.c index 5ace2e2..ecbb3c2 100644 --- a/src/bin/edc_editor.c +++ b/src/bin/edc_editor.c @@ -793,7 +793,7 @@ edit_edc_read(edit_data *ed, const char *file_path) Eina_Stringshare *group_name = parser_first_group_name_get(ed->pd, ed->en_edit); - stats_edc_group_set(group_name); + stats_edc_group_update(group_name); stats_line_num_update(0, ed->line_max); base_title_set(config_edc_path_get()); diff --git a/src/bin/main.c b/src/bin/main.c index 38798cd..4dbfdf9 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -336,7 +336,7 @@ edc_view_set(Eina_Stringshare *group) if (!vd) return; - if (group) stats_edc_group_set(group); + if (group) stats_edc_group_update(group); } static void diff --git a/src/bin/statusbar.c b/src/bin/statusbar.c index 032d42f..d83f8ba 100644 --- a/src/bin/statusbar.c +++ b/src/bin/statusbar.c @@ -25,7 +25,7 @@ stats_line_num_update(int cur_line, int max_line) } void -stats_edc_group_set(Eina_Stringshare *group_name) +stats_edc_group_update(Eina_Stringshare *group_name) { stats_data *sd = g_sd; @@ -48,7 +48,7 @@ stats_init(Evas_Object *parent) sd->layout = layout; stats_cursor_pos_update(0, 0, 0, 0); - stats_edc_group_set(NULL); + stats_edc_group_update(NULL); return layout; } From 4fe36539b0ca7327a1e3caccdc5c06234bae1dae Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Tue, 18 Feb 2014 20:02:39 +0900 Subject: [PATCH 05/20] config - use the eet_data_descriptor for streaming data io. --- src/bin/config_data.c | 201 +++++++++++++++++++++--------------------- 1 file changed, 102 insertions(+), 99 deletions(-) diff --git a/src/bin/config_data.c b/src/bin/config_data.c index 4704f17..79d6eec 100644 --- a/src/bin/config_data.c +++ b/src/bin/config_data.c @@ -1,18 +1,6 @@ #include #include "common.h" -const char *IMGPATH = "imgpath"; -const char *SNDPATH = "sndpath"; -const char *FNTPATH = "fntpath"; -const char *DATPATH = "datpath"; -const char *FNTSIZE = "fntsize"; -const char *VIEWSCALE = "viewscale"; -const char *STATSBAR = "statsbar"; -const char *LINENUM = "linenum"; -const char *HIGHLIGHT = "highlight"; -const char *SWALLOW = "swallow"; -const char *INDENT = "indent"; - typedef struct config_s { const char *edc_path; @@ -34,15 +22,16 @@ typedef struct config_s void *update_cb_data; Evas_Coord_Size view_size; - Eina_Bool stats_bar : 1; - Eina_Bool linenumber : 1; - Eina_Bool part_highlight : 1; - Eina_Bool dummy_swallow : 1; - Eina_Bool auto_indent : 1; - Eina_Bool hotkeys : 1; + Eina_Bool stats_bar; + Eina_Bool linenumber; + Eina_Bool part_highlight; + Eina_Bool dummy_swallow; + Eina_Bool auto_indent; + Eina_Bool hotkeys; } config_data; static config_data *g_cd = NULL; +static Eet_Data_Descriptor *edd_base = NULL; static void config_edj_path_update(config_data *cd) @@ -62,51 +51,6 @@ config_edj_path_update(config_data *cd) eina_stringshare_replace(&cd->edj_path, edj_path); } - -static Eina_Bool -config_load(config_data *cd) -{ - char buf[PATH_MAX]; - snprintf(buf, sizeof(buf), "%s/enventor/config.eet", - efreet_config_home_get()); - Eet_File *ef = eet_open(buf, EET_FILE_MODE_READ); - if (!ef) - { - EINA_LOG_ERR("Cannot load a config file \"%s\"", buf); - return EINA_FALSE; - } - - int size; - char *ret; - - ret = eet_read(ef, IMGPATH, &size); - if (size > 0) { config_edc_img_path_set(ret); free(ret); } - ret = eet_read(ef, SNDPATH, &size); - if (size > 0) { config_edc_snd_path_set(ret); free(ret); } - ret = eet_read(ef, FNTPATH, &size); - if (size > 0) { config_edc_fnt_path_set(ret); free(ret); } - ret = eet_read(ef, DATPATH, &size); - if (size > 0) { config_edc_data_path_set(ret); free(ret); } - ret = eet_read(ef, FNTSIZE, &size); - if (size > 0) { cd->font_size = atof(ret); free(ret); } - ret = eet_read(ef, VIEWSCALE, &size); - if (size > 0) { cd->view_scale = atof(ret); free(ret); } - ret = eet_read(ef, STATSBAR, &size); - if (size > 0) { cd->stats_bar = (Eina_Bool) atoi(ret); free(ret); } - ret = eet_read(ef, LINENUM, &size); - if (size > 0) { cd->linenumber = (Eina_Bool) atoi(ret); free(ret); } - ret = eet_read(ef, HIGHLIGHT, &size); - if (size > 0) { cd->part_highlight = (Eina_Bool) atoi(ret); free(ret); } - ret = eet_read(ef, SWALLOW, &size); - if (size > 0) { cd->dummy_swallow = (Eina_Bool) atoi(ret); free(ret); } - ret = eet_read(ef, INDENT, &size); - if (size > 0) { cd->auto_indent = (Eina_Bool) atoi(ret); free(ret); } - - eet_close(ef); - - return EINA_TRUE; -} - static void edc_paths_write(Eet_File *ef, const char *key, Eina_List *paths, Eina_Strbuf *strbuf) @@ -154,34 +98,14 @@ config_save(config_data *cd) } //TODO: Use Eet Descriptor if the attributes are getting bigger and bigger + eet_data_write(ef, edd_base, "config", cd, 1); Eina_Strbuf *strbuf = eina_strbuf_new(); - edc_paths_write(ef, IMGPATH, cd->edc_img_path_list, strbuf); - edc_paths_write(ef, SNDPATH, cd->edc_snd_path_list, strbuf); - edc_paths_write(ef, FNTPATH, cd->edc_fnt_path_list, strbuf); - edc_paths_write(ef, DATPATH, cd->edc_data_path_list, strbuf); + edc_paths_write(ef, "imgpath", cd->edc_img_path_list, strbuf); + edc_paths_write(ef, "sndpath", cd->edc_snd_path_list, strbuf); + edc_paths_write(ef, "fntpath", cd->edc_fnt_path_list, strbuf); + edc_paths_write(ef, "datpath", cd->edc_data_path_list, strbuf); eina_strbuf_free(strbuf); - snprintf(buf, sizeof(buf), "%f", cd->font_size); - eet_write(ef, FNTSIZE, buf, strlen(buf) + 1, 0); - - snprintf(buf, sizeof(buf), "%f", cd->view_scale); - eet_write(ef, VIEWSCALE, buf, strlen(buf) + 1, 0); - - snprintf(buf, sizeof(buf), "%d", cd->stats_bar); - eet_write(ef, STATSBAR, buf, strlen(buf) + 1, 0); - - snprintf(buf, sizeof(buf), "%d", cd->linenumber); - eet_write(ef, LINENUM, buf, strlen(buf) + 1, 0); - - snprintf(buf, sizeof(buf), "%d", cd->part_highlight); - eet_write(ef, HIGHLIGHT, buf, strlen(buf) + 1, 0); - - snprintf(buf, sizeof(buf), "%d", cd->dummy_swallow); - eet_write(ef, SWALLOW, buf, strlen(buf) + 1, 0); - - snprintf(buf, sizeof(buf), "%d", cd->auto_indent); - eet_write(ef, INDENT, buf, strlen(buf) + 1, 0); - eet_close(ef); } @@ -193,27 +117,105 @@ config_edc_path_set(const char *edc_path) config_edj_path_update(cd); } -void -config_init(const char *edc_path, const char *edc_img_path, - const char *edc_snd_path, const char *edc_fnt_path, - const char *edc_data_path) +static config_data * +config_load() { - config_data *cd = calloc(1, sizeof(config_data)); - g_cd = cd; + char buf[PATH_MAX]; + snprintf(buf, sizeof(buf), "%s/enventor/config.eet", + efreet_config_home_get()); - cd->edc_path = eina_stringshare_add(edc_path); - config_edj_path_update(cd); - - if (!config_load(cd)) + config_data *cd = NULL; + Eet_File *ef = eet_open(buf, EET_FILE_MODE_READ); + if (ef) { - //failed to load config file. set default values. + cd = eet_data_read(ef, edd_base, "config"); + eet_close(ef); + } + else EINA_LOG_ERR("Cannot load a config file \"%s\"", buf); + + //failed to load config file. set default values. + if (!cd) + { + cd = calloc(1, sizeof(config_data)); + g_cd = cd; + cd->font_size = 1.0f; cd->view_scale = 1; + cd->stats_bar = EINA_TRUE; cd->linenumber = EINA_TRUE; cd->part_highlight = EINA_TRUE; cd->dummy_swallow = EINA_TRUE; cd->auto_indent = EINA_TRUE; } + else + { + g_cd = cd; + int size; + char *ret; + ret = eet_read(ef, "imgpath", &size); + if (size > 0) + { + config_edc_img_path_set(ret); + free(ret); + } + ret = eet_read(ef, "sndpath", &size); + if (size > 0) + { + config_edc_snd_path_set(ret); + free(ret); + } + ret = eet_read(ef, "fntpath", &size); + if (size > 0) + { + config_edc_fnt_path_set(ret); + free(ret); + } + ret = eet_read(ef, "datpath", &size); + if (size > 0) + { + config_edc_data_path_set(ret); + free(ret); + } + } + return cd; +} + + + +static void +eddc_init() +{ + Eet_Data_Descriptor_Class eddc; + eet_eina_stream_data_descriptor_class_set(&eddc, sizeof(eddc), + "config", sizeof(config_data)); + edd_base = eet_data_descriptor_stream_new(&eddc); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "font_size", font_size, + EET_T_FLOAT); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "view_scale", + view_scale, EET_T_DOUBLE); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "stats_bar", stats_bar, + EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "linenumber", + linenumber, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "part_highlight", + part_highlight, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "dummy_swallow", + dummy_swallow, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "auto_indent", + auto_indent, EET_T_UCHAR); +} + +void +config_init(const char *edc_path, const char *edc_img_path, + const char *edc_snd_path, const char *edc_fnt_path, + const char *edc_data_path) +{ + eddc_init(); + + config_data *cd = config_load(); + + cd->edc_path = eina_stringshare_add(edc_path); + config_edj_path_update(cd); if (edc_img_path) config_edc_img_path_set(edc_img_path); if (edc_snd_path) config_edc_snd_path_set(edc_snd_path); @@ -262,6 +264,7 @@ config_term() if (cd->edc_fnt_path_buf) eina_strbuf_free(cd->edc_fnt_path_buf); if (cd->edc_data_path_buf) eina_strbuf_free(cd->edc_data_path_buf); + eet_data_descriptor_free(edd_base); free(cd); } From e1ac55873e1d9abe8dce2a9a49409513d1ba4d0f Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Tue, 18 Feb 2014 20:07:30 +0900 Subject: [PATCH 06/20] config - just sort up the func position. (static first) --- src/bin/config_data.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/bin/config_data.c b/src/bin/config_data.c index 79d6eec..179a629 100644 --- a/src/bin/config_data.c +++ b/src/bin/config_data.c @@ -109,14 +109,6 @@ config_save(config_data *cd) eet_close(ef); } -void -config_edc_path_set(const char *edc_path) -{ - config_data *cd = g_cd; - eina_stringshare_replace(&cd->edc_path, edc_path); - config_edj_path_update(cd); -} - static config_data * config_load() { @@ -180,8 +172,6 @@ config_load() return cd; } - - static void eddc_init() { @@ -205,6 +195,14 @@ eddc_init() auto_indent, EET_T_UCHAR); } +void +config_edc_path_set(const char *edc_path) +{ + config_data *cd = g_cd; + eina_stringshare_replace(&cd->edc_path, edc_path); + config_edj_path_update(cd); +} + void config_init(const char *edc_path, const char *edc_img_path, const char *edc_snd_path, const char *edc_fnt_path, From f4c8ab755862d543d875c8611d48b2236ce56134 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Tue, 18 Feb 2014 20:10:00 +0900 Subject: [PATCH 07/20] config - reuse the function as possible. --- src/bin/config_data.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/bin/config_data.c b/src/bin/config_data.c index 179a629..b22c5bc 100644 --- a/src/bin/config_data.c +++ b/src/bin/config_data.c @@ -212,9 +212,7 @@ config_init(const char *edc_path, const char *edc_img_path, config_data *cd = config_load(); - cd->edc_path = eina_stringshare_add(edc_path); - config_edj_path_update(cd); - + if (edc_path) config_edc_path_set(edc_path); if (edc_img_path) config_edc_img_path_set(edc_img_path); if (edc_snd_path) config_edc_snd_path_set(edc_snd_path); if (edc_fnt_path) config_edc_fnt_path_set(edc_fnt_path); From f662c73b22d194283fb5e1e829d8dca8eaaf9bce Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Tue, 18 Feb 2014 20:14:15 +0900 Subject: [PATCH 08/20] statsbar - save/load the hotkey status. --- src/bin/base_gui.c | 5 +++++ src/bin/config_data.c | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/bin/base_gui.c b/src/bin/base_gui.c index 32a08e0..cbb2d03 100644 --- a/src/bin/base_gui.c +++ b/src/bin/base_gui.c @@ -74,6 +74,11 @@ void base_hotkeys_set(Evas_Object *hotkeys) { base_data *bd = g_bd; elm_object_part_content_set(bd->layout, "elm.swallow.hotkeys", hotkeys); + + if (config_hotkeys_get()) + elm_object_signal_emit(bd->layout, "elm,state,hotkeys,show", ""); + else + elm_object_signal_emit(bd->layout, "elm,state,hotkeys,hide", ""); } void diff --git a/src/bin/config_data.c b/src/bin/config_data.c index b22c5bc..5ff0380 100644 --- a/src/bin/config_data.c +++ b/src/bin/config_data.c @@ -193,6 +193,8 @@ eddc_init() dummy_swallow, EET_T_UCHAR); EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "auto_indent", auto_indent, EET_T_UCHAR); + EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "hotkeys", + hotkeys, EET_T_UCHAR); } void @@ -217,9 +219,6 @@ config_init(const char *edc_path, const char *edc_img_path, if (edc_snd_path) config_edc_snd_path_set(edc_snd_path); if (edc_fnt_path) config_edc_fnt_path_set(edc_fnt_path); if (edc_data_path) config_edc_data_path_set(edc_data_path); - - //hotkey is not decided yet to keep the function or not. - cd->hotkeys = EINA_TRUE; } void From b229686519fcd904d65bdef15b90c749de74a996 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Tue, 18 Feb 2014 20:34:03 +0900 Subject: [PATCH 09/20] config - override the paths only those are actually existed. --- src/bin/config_data.c | 19 ++++++++++++++----- src/bin/main.c | 38 +++++++++----------------------------- 2 files changed, 23 insertions(+), 34 deletions(-) diff --git a/src/bin/config_data.c b/src/bin/config_data.c index 5ff0380..c6f7899 100644 --- a/src/bin/config_data.c +++ b/src/bin/config_data.c @@ -131,6 +131,15 @@ config_load() cd = calloc(1, sizeof(config_data)); g_cd = cd; + sprintf(buf, "%s/images", elm_app_data_dir_get()); + config_edc_img_path_set(buf); + sprintf(buf, "%s/sounds", elm_app_data_dir_get()); + config_edc_snd_path_set(buf); + sprintf(buf, "%s/fonts", elm_app_data_dir_get()); + config_edc_fnt_path_set(buf); + sprintf(buf, "%s/data", elm_app_data_dir_get()); + config_edc_data_path_set(buf); + cd->font_size = 1.0f; cd->view_scale = 1; cd->stats_bar = EINA_TRUE; @@ -214,11 +223,11 @@ config_init(const char *edc_path, const char *edc_img_path, config_data *cd = config_load(); - if (edc_path) config_edc_path_set(edc_path); - if (edc_img_path) config_edc_img_path_set(edc_img_path); - if (edc_snd_path) config_edc_snd_path_set(edc_snd_path); - if (edc_fnt_path) config_edc_fnt_path_set(edc_fnt_path); - if (edc_data_path) config_edc_data_path_set(edc_data_path); + if (edc_path[0]) config_edc_path_set(edc_path); + if (edc_img_path[0]) config_edc_img_path_set(edc_img_path); + if (edc_snd_path[0]) config_edc_snd_path_set(edc_snd_path); + if (edc_fnt_path[0]) config_edc_fnt_path_set(edc_fnt_path); + if (edc_data_path[0]) config_edc_data_path_set(edc_data_path); } void diff --git a/src/bin/main.c b/src/bin/main.c index 4dbfdf9..50f21f0 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -403,10 +403,6 @@ args_dispatch(int argc, char **argv, char *edc_path, char *img_path, char *snd_path, char *fnt_path, char *data_path) { Eina_Bool default_edc = EINA_TRUE; - Eina_Bool default_img = EINA_TRUE; - Eina_Bool default_snd = EINA_TRUE; - Eina_Bool default_fnt = EINA_TRUE; - Eina_Bool default_data = EINA_TRUE; //No arguments. set defaults if (argc == 1) goto defaults; @@ -434,45 +430,29 @@ args_dispatch(int argc, char **argv, char *edc_path, char *img_path, if (argc > (cur_arg + 1)) { if (!strcmp("-id", argv[cur_arg])) - { - sprintf(img_path, "%s", argv[cur_arg + 1]); - default_img = EINA_FALSE; - } + sprintf(img_path, "%s", argv[cur_arg + 1]); else if (!strcmp("-sd", argv[cur_arg])) - { - sprintf(snd_path, "%s", argv[cur_arg + 1]); - default_snd = EINA_FALSE; - } + sprintf(snd_path, "%s", argv[cur_arg + 1]); else if (!strcmp("-fd", argv[cur_arg])) - { - sprintf(fnt_path, "%s", argv[cur_arg + 1]); - default_fnt = EINA_FALSE; - } + sprintf(fnt_path, "%s", argv[cur_arg + 1]); else if (!strcmp("-dd", argv[cur_arg])) - { - sprintf(data_path, "%s", argv[cur_arg + 1]); - default_data = EINA_FALSE; - } + sprintf(data_path, "%s", argv[cur_arg + 1]); } cur_arg += 2; } defaults: if (default_edc) sprintf(edc_path, "%s", PROTO_EDC_PATH); - if (default_img) sprintf(img_path, "%s/images", elm_app_data_dir_get()); - if (default_snd) sprintf(snd_path, "%s/sounds", elm_app_data_dir_get()); - if (default_fnt) sprintf(fnt_path, "%s/fonts", elm_app_data_dir_get()); - if (default_data) sprintf(data_path, "%s/data", elm_app_data_dir_get()); } static void config_data_set(app_data *ad, int argc, char **argv) { - char edc_path[PATH_MAX]; - char img_path[PATH_MAX]; - char snd_path[PATH_MAX]; - char fnt_path[PATH_MAX]; - char data_path[PATH_MAX]; + char edc_path[PATH_MAX] = { 0, }; + char img_path[PATH_MAX] = { 0, }; + char snd_path[PATH_MAX] = { 0, }; + char fnt_path[PATH_MAX] = { 0, }; + char data_path[PATH_MAX] = { 0, }; args_dispatch(argc, argv, edc_path, img_path, snd_path, fnt_path, data_path); config_init(edc_path, img_path, snd_path, fnt_path, data_path); From ec5c4242bb526d985caf7a564362be56b21fae7e Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Tue, 18 Feb 2014 20:34:47 +0900 Subject: [PATCH 10/20] config - default hotkey status is on. --- src/bin/config_data.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/config_data.c b/src/bin/config_data.c index c6f7899..f154d67 100644 --- a/src/bin/config_data.c +++ b/src/bin/config_data.c @@ -147,6 +147,7 @@ config_load() cd->part_highlight = EINA_TRUE; cd->dummy_swallow = EINA_TRUE; cd->auto_indent = EINA_TRUE; + cd->hotkeys = EINA_TRUE; } else { From 5b69d97f8c20c8cbe7e8b75e97cb0c010be56430 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Tue, 18 Feb 2014 21:11:47 +0900 Subject: [PATCH 11/20] config - use the EET_DATA_DESCRIPTOR_ADD_LIST_STRING for paths i/o it's better simple and easy. cool! --- src/bin/config_data.c | 68 +++++++------------------------------------ 1 file changed, 11 insertions(+), 57 deletions(-) diff --git a/src/bin/config_data.c b/src/bin/config_data.c index f154d67..9dc2b78 100644 --- a/src/bin/config_data.c +++ b/src/bin/config_data.c @@ -51,25 +51,6 @@ config_edj_path_update(config_data *cd) eina_stringshare_replace(&cd->edj_path, edj_path); } -static void -edc_paths_write(Eet_File *ef, const char *key, Eina_List *paths, - Eina_Strbuf *strbuf) -{ - Eina_List *l; - char *path; - - eina_strbuf_reset(strbuf); - - EINA_LIST_FOREACH(paths, l, path) - { - eina_strbuf_append(strbuf, path); - eina_strbuf_append(strbuf, ";"); - } - - const char *str = eina_strbuf_string_get(strbuf); - eet_write(ef, key, str, strlen(str) + 1, 0); -} - static void config_save(config_data *cd) { @@ -97,15 +78,7 @@ config_save(config_data *cd) return; } - //TODO: Use Eet Descriptor if the attributes are getting bigger and bigger eet_data_write(ef, edd_base, "config", cd, 1); - Eina_Strbuf *strbuf = eina_strbuf_new(); - edc_paths_write(ef, "imgpath", cd->edc_img_path_list, strbuf); - edc_paths_write(ef, "sndpath", cd->edc_snd_path_list, strbuf); - edc_paths_write(ef, "fntpath", cd->edc_fnt_path_list, strbuf); - edc_paths_write(ef, "datpath", cd->edc_data_path_list, strbuf); - eina_strbuf_free(strbuf); - eet_close(ef); } @@ -149,36 +122,6 @@ config_load() cd->auto_indent = EINA_TRUE; cd->hotkeys = EINA_TRUE; } - else - { - g_cd = cd; - int size; - char *ret; - ret = eet_read(ef, "imgpath", &size); - if (size > 0) - { - config_edc_img_path_set(ret); - free(ret); - } - ret = eet_read(ef, "sndpath", &size); - if (size > 0) - { - config_edc_snd_path_set(ret); - free(ret); - } - ret = eet_read(ef, "fntpath", &size); - if (size > 0) - { - config_edc_fnt_path_set(ret); - free(ret); - } - ret = eet_read(ef, "datpath", &size); - if (size > 0) - { - config_edc_data_path_set(ret); - free(ret); - } - } return cd; } @@ -189,6 +132,16 @@ eddc_init() eet_eina_stream_data_descriptor_class_set(&eddc, sizeof(eddc), "config", sizeof(config_data)); edd_base = eet_data_descriptor_stream_new(&eddc); + + EET_DATA_DESCRIPTOR_ADD_LIST_STRING(edd_base, config_data, + "edc_img_path_list", edc_img_path_list); + EET_DATA_DESCRIPTOR_ADD_LIST_STRING(edd_base, config_data, + "edc_snd_path_list", edc_snd_path_list); + EET_DATA_DESCRIPTOR_ADD_LIST_STRING(edd_base, config_data, + "edc_fnt_path_list", edc_fnt_path_list); + EET_DATA_DESCRIPTOR_ADD_LIST_STRING(edd_base, config_data, + "edc_data_path_list", + edc_data_path_list); EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "font_size", font_size, EET_T_FLOAT); EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "view_scale", @@ -223,6 +176,7 @@ config_init(const char *edc_path, const char *edc_img_path, eddc_init(); config_data *cd = config_load(); + g_cd = cd; if (edc_path[0]) config_edc_path_set(edc_path); if (edc_img_path[0]) config_edc_img_path_set(edc_img_path); From bd0d0008deb431ed0b5ff820b98e226720d9cc18 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Tue, 18 Feb 2014 22:38:02 +0900 Subject: [PATCH 12/20] config - fix the side effect that paths buf weren't intialized. it's caused by 5b69d97f8c20c8cbe7e8b75e97cb0c010be56430. --- src/bin/config_data.c | 58 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 48 insertions(+), 10 deletions(-) diff --git a/src/bin/config_data.c b/src/bin/config_data.c index 9dc2b78..649a690 100644 --- a/src/bin/config_data.c +++ b/src/bin/config_data.c @@ -82,6 +82,23 @@ config_save(config_data *cd) eet_close(ef); } +static Eina_Strbuf * +config_paths_buf_load_set(Eina_List *paths) +{ + Eina_List *l; + const char *s; + + Eina_Strbuf *buf = eina_strbuf_new(); + + EINA_LIST_FOREACH(paths, l, s) + { + eina_strbuf_append(buf, " -fd "); + eina_strbuf_append(buf, s); + } + + return buf; +} + static config_data * config_load() { @@ -102,16 +119,6 @@ config_load() if (!cd) { cd = calloc(1, sizeof(config_data)); - g_cd = cd; - - sprintf(buf, "%s/images", elm_app_data_dir_get()); - config_edc_img_path_set(buf); - sprintf(buf, "%s/sounds", elm_app_data_dir_get()); - config_edc_snd_path_set(buf); - sprintf(buf, "%s/fonts", elm_app_data_dir_get()); - config_edc_fnt_path_set(buf); - sprintf(buf, "%s/data", elm_app_data_dir_get()); - config_edc_data_path_set(buf); cd->font_size = 1.0f; cd->view_scale = 1; @@ -122,6 +129,37 @@ config_load() cd->auto_indent = EINA_TRUE; cd->hotkeys = EINA_TRUE; } + + g_cd = cd; + + if (!cd->edc_img_path_list) + { + sprintf(buf, "%s/images", elm_app_data_dir_get()); + config_edc_img_path_set(buf); + } + else cd->edc_img_path_buf = config_paths_buf_set(cd->edc_img_path_list); + + if (!cd->edc_snd_path_list) + { + sprintf(buf, "%s/sounds", elm_app_data_dir_get()); + config_edc_snd_path_set(buf); + } + else cd->edc_snd_path_buf = config_paths_buf_set(cd->edc_snd_path_list); + + if (!cd->edc_fnt_path_list) + { + sprintf(buf, "%s/fonts", elm_app_data_dir_get()); + config_edc_fnt_path_set(buf); + } + else cd->edc_fnt_path_buf = config_paths_buf_set(cd->edc_fnt_path_list); + + if (!cd->edc_data_path_list) + { + sprintf(buf, "%s/data", elm_app_data_dir_get()); + config_edc_data_path_set(buf); + } + else cd->edc_data_path_buf = config_paths_buf_set(cd->edc_data_path_list); + return cd; } From bb22983b4b49c23b43be7dc2b0f18c6a3459e508 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Tue, 18 Feb 2014 22:48:15 +0900 Subject: [PATCH 13/20] config - fix the side effect again. caused by bd0d0008deb431ed0b5ff820b98e226720d9cc18. the prefix should not fixed and function name is incorrect. fixed. --- src/bin/config_data.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/bin/config_data.c b/src/bin/config_data.c index 649a690..a142427 100644 --- a/src/bin/config_data.c +++ b/src/bin/config_data.c @@ -83,7 +83,7 @@ config_save(config_data *cd) } static Eina_Strbuf * -config_paths_buf_load_set(Eina_List *paths) +config_paths_buf_set(Eina_List *paths, const char *prefix) { Eina_List *l; const char *s; @@ -92,7 +92,7 @@ config_paths_buf_load_set(Eina_List *paths) EINA_LIST_FOREACH(paths, l, s) { - eina_strbuf_append(buf, " -fd "); + eina_strbuf_append(buf, prefix); eina_strbuf_append(buf, s); } @@ -137,28 +137,32 @@ config_load() sprintf(buf, "%s/images", elm_app_data_dir_get()); config_edc_img_path_set(buf); } - else cd->edc_img_path_buf = config_paths_buf_set(cd->edc_img_path_list); + else cd->edc_img_path_buf = + config_paths_buf_set(cd->edc_img_path_list, " -id "); if (!cd->edc_snd_path_list) { sprintf(buf, "%s/sounds", elm_app_data_dir_get()); config_edc_snd_path_set(buf); } - else cd->edc_snd_path_buf = config_paths_buf_set(cd->edc_snd_path_list); + else cd->edc_snd_path_buf = + config_paths_buf_set(cd->edc_snd_path_list, " -sd "); if (!cd->edc_fnt_path_list) { sprintf(buf, "%s/fonts", elm_app_data_dir_get()); config_edc_fnt_path_set(buf); } - else cd->edc_fnt_path_buf = config_paths_buf_set(cd->edc_fnt_path_list); + else cd->edc_fnt_path_buf = + config_paths_buf_set(cd->edc_fnt_path_list, " -fd "); if (!cd->edc_data_path_list) { sprintf(buf, "%s/data", elm_app_data_dir_get()); config_edc_data_path_set(buf); } - else cd->edc_data_path_buf = config_paths_buf_set(cd->edc_data_path_list); + else cd->edc_data_path_buf = + config_paths_buf_set(cd->edc_data_path_list, " -dd "); return cd; } From 409d97f43c9ca7d41033d701e81150adf2feee06 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Sat, 22 Feb 2014 13:44:58 +0900 Subject: [PATCH 14/20] panes - fix the panes view recovery. added missed signals in customized theme. --- data/themes/default/theme_ext.edc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/data/themes/default/theme_ext.edc b/data/themes/default/theme_ext.edc index 2895319..5a0c902 100644 --- a/data/themes/default/theme_ext.edc +++ b/data/themes/default/theme_ext.edc @@ -2199,4 +2199,18 @@ group { name: "elm/panes/vertical/enventor"; } } } + programs { + program { signal: "mouse,down,1"; source: "bar"; + action: SIGNAL_EMIT "elm,action,press" "elm"; + } + program { signal: "mouse,up,1"; source: "bar"; + action: SIGNAL_EMIT "elm,action,unpress" "elm"; + } + program { signal: "mouse,clicked,1"; source: "bar"; + action: SIGNAL_EMIT "elm,action,click" "elm"; + } + program { signal: "mouse,down,1,double"; source: "bar"; + action: SIGNAL_EMIT "elm,action,click,double" "elm"; + } + } } From cb7c6f085f07879b45d46abd46c915a848200841 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Sat, 22 Feb 2014 13:53:26 +0900 Subject: [PATCH 15/20] ctxpopup - adjust button size in the slider. --- data/themes/default/layout.edc | 5 ++--- src/include/statusbar.h | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/data/themes/default/layout.edc b/data/themes/default/layout.edc index 7821d52..79da16b 100644 --- a/data/themes/default/layout.edc +++ b/data/themes/default/layout.edc @@ -93,7 +93,7 @@ group { name: "slider_layout"; part { name: "elm.swallow.plus"; type: SWALLOW; description { state: "default" 0.0; - min: 20 20; + min: 24 24; fixed: 1 1; align: 0 0.5; rel1.relative: 0.0 0.5; @@ -103,14 +103,13 @@ group { name: "slider_layout"; part { name: "elm.swallow.minus"; type: SWALLOW; description { state: "default" 0.0; - min: 20 20; + min: 24 24; fixed: 1 1; align: 0 0.5; rel1.to: "elm.swallow.plus"; rel2.to: "elm.swallow.plus"; rel1.relative: 1.0 0.5; rel2.relative: 1.0 0.5; - rel1.offset: 1 0; } } part { name: "elm.swallow.slider"; diff --git a/src/include/statusbar.h b/src/include/statusbar.h index 56f2ff8..731438f 100644 --- a/src/include/statusbar.h +++ b/src/include/statusbar.h @@ -5,5 +5,5 @@ void stats_cursor_pos_update(Evas_Coord x, Evas_Coord y, float rel_x, float rel_ void stats_info_msg_update(const char *msg); void stats_line_num_update(int cur_line, int max_line); Evas_Object *stats_obj_get(); -void stats_edc_group_set(const char *group_name); +void stats_edc_group_update(const char *group_name); Eina_Stringshare *stats_group_name_get(); From e442bc8d4c3afa82e104ca2b6cb36c50a1e990fc Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Sat, 22 Feb 2014 15:01:07 +0900 Subject: [PATCH 16/20] hotkeys - improve ui. apply icons --- data/themes/default/images.edc | 84 +++++++++++++++++++++++++ data/themes/default/images/Makefile.am | 9 ++- data/themes/default/images/lines.png | Bin 0 -> 540 bytes data/themes/default/images/load.png | Bin 0 -> 587 bytes data/themes/default/images/logo_s.png | Bin 0 -> 876 bytes data/themes/default/images/new.png | Bin 0 -> 494 bytes data/themes/default/images/save.png | Bin 0 -> 593 bytes data/themes/default/images/setting.png | Bin 0 -> 631 bytes data/themes/default/images/status.png | Bin 0 -> 549 bytes src/bin/hotkeys.c | 30 +++++---- 10 files changed, 109 insertions(+), 14 deletions(-) create mode 100644 data/themes/default/images/lines.png create mode 100644 data/themes/default/images/load.png create mode 100644 data/themes/default/images/logo_s.png create mode 100644 data/themes/default/images/new.png create mode 100644 data/themes/default/images/save.png create mode 100644 data/themes/default/images/setting.png create mode 100644 data/themes/default/images/status.png diff --git a/data/themes/default/images.edc b/data/themes/default/images.edc index 33146a9..7cf9226 100644 --- a/data/themes/default/images.edc +++ b/data/themes/default/images.edc @@ -5,6 +5,90 @@ images { image: "panes_right_arrow.png" COMP; image: "panes_recover_arrow.png" COMP; image: "hotkeys.png" COMP; + image: "logo_s.png" COMP; + image: "new.png" COMP; + image: "load.png" COMP; + image: "save.png" COMP; + image: "lines.png" COMP; + image: "setting.png" COMP; + image: "status.png" COMP; +} + +group { name: "status"; + parts { + part { name: "img"; + type: IMAGE; + description { state: "default" 0.0; + image.normal: "status.png"; + } + } + } +} + +group { name: "setting"; + parts { + part { name: "img"; + type: IMAGE; + description { state: "default" 0.0; + image.normal: "setting.png"; + } + } + } +} + +group { name: "lines"; + parts { + part { name: "img"; + type: IMAGE; + description { state: "default" 0.0; + image.normal: "lines.png"; + } + } + } +} + +group { name: "save"; + parts { + part { name: "img"; + type: IMAGE; + description { state: "default" 0.0; + image.normal: "save.png"; + } + } + } +} + +group { name: "load"; + parts { + part { name: "img"; + type: IMAGE; + description { state: "default" 0.0; + image.normal: "load.png"; + } + } + } +} + +group { name: "new"; + parts { + part { name: "img"; + type: IMAGE; + description { state: "default" 0.0; + image.normal: "new.png"; + } + } + } +} + +group { name: "logo"; + parts { + part { name: "img"; + type: IMAGE; + description { state: "default" 0.0; + image.normal: "logo_s.png"; + } + } + } } group { name: "hotkeys"; diff --git a/data/themes/default/images/Makefile.am b/data/themes/default/images/Makefile.am index 4d5c103..0ab4f48 100644 --- a/data/themes/default/images/Makefile.am +++ b/data/themes/default/images/Makefile.am @@ -60,4 +60,11 @@ EXTRA_DIST = \ panes_right_arrow.png \ panes_recover_arrow.png \ hotkeys.png \ - pm_fill.png + pm_fill.png \ + logo_s.png \ + new.png \ + load.png \ + save.png \ + lines.png \ + setting.png \ + status.png diff --git a/data/themes/default/images/lines.png b/data/themes/default/images/lines.png new file mode 100644 index 0000000000000000000000000000000000000000..63f35b08b8d8c1b9b8f701378439dc185eea2865 GIT binary patch literal 540 zcmV+%0^|LOP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^h} z1uZTSWf>O$00EpyL_t(I%XO2#YE)4W#(&>E3q}ao_!MhnVzshOAc8(ZYVl7}*`yI0 z2|`3G3yn_@+mw-oH5f^wCRO4ySZNgkd(UUFb9T>~&A@Q)%st;QXXbZB*z!&W!1i0f zz$R1MX4dv44FNhuY#ZPV_!Eatfo{B?+eT8~_Nt`4h-s>-tIqTPBuEEl#p})ECCm`w{7#|$?O$|lGdtt4HyFC zoa>rqo3EET|=k1mH!fxmI^hV3#$OL`6@+gm9m0hc-;rhW(<9N12-it0N1O3 eWx_`-2KWbw-MfxKM=1gT0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^h} z1s5fw9v-bsw%vY>$s^?JCUk@WkCM}12iJhE)LC1@E}UWm$wbBG(jnUpO6yySQ&v3nHH zf8Tp(F~G`m@#BGEdG@PY@)j3p$aoKo5Qc$VLeSsW^4Z{H6s|n}HPn}#`(B*$y!<0M zk0nq6mVg>Y6{v!$$5FR-l+4~9#-nGUZ`H+CS{d(D2!x~DaRDg}xp1ES_8av(?VG_2 z7nd$)yfq`>6bwdiy(YkC$2C~0Hw+*dXfCXpl`Kq>n|0V+H#XOyc_EDf$Uv^xTN02` z!uBm#t)ydnBaP*j#!<3h275i&cnL1+m1pTN%MbQH0sw25;9e7kN%}wI!>cyD{aW5T zRp6ixAHG47rSmO~O~X`yPhHsU7Ude{(o0Q@gR#3iLD1Ojfiq31z&}L(0+HYlh)eBG zPcSqQxj%(|kUu6Z<6KM!aTl07rQ#DAonf54Rq5X>mDjRsA>IItWP<9$Ea-ELi|!OA Z{sQiPvx@l;e+~cu002ovPDHLkV1lRS0U!VX literal 0 HcmV?d00001 diff --git a/data/themes/default/images/logo_s.png b/data/themes/default/images/logo_s.png new file mode 100644 index 0000000000000000000000000000000000000000..e9022c51eb3a486cef776d9befdcd3d359f56d71 GIT binary patch literal 876 zcmV-y1C#uTP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2i^h} z1p_yJ3ApTLPZh$0|c*RA_`s&d|?zXybzpT_;R%&jEP+-Q`e0+Y}ch`YctcXX-;y^NlwoB zou5}L-c0&jKF{|Bp6~O(9_oXaO0y4}se2KaJ~j3=5c_ZM)RPkcC=Vk|9XgbG^|iMq z{m2-f8Tjy3pGZIuvpu5MrY5`;#IJ3#MtH zsVbuDkTMgps4qV?R(_j}dv#fH+9w_u>FM;~GeRowj}`MIO_Lz-QB{SJ;r+C1n|k#I znrA51U>C(-;j!XD<@%p1M|OA6v3FKMGC4MirYUIg1k%cJW4lAI9}thZn8_iGc#g37 z6S0_qs_WK}$|C?;aeql09WTFAD&$$a*Wlu&%cs}>W`5&7J0ToR{X;yqjUG#27!Hm* zOs&ynJsNtr3j;ESn9J%wPkhQ^@&{p5s5X|^~hwh9E=H0 z|FFoLzphY@OOojUAVO+sf`KVE?|PK-HB9LifVd72h2d?->z&+gwUlSGI>$#R7)luE z?F~A11>fsnh5J5 zp{6wN$1g6a|;yD;K`6tl8AAeEZ5`&(mj` z&E(wqFBi^yacSiaz{$tqa%B%+_~Y5v-vAQ-hxr%BA5k2?iNuBg0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^h} z1rG#mY?k2w00C}EL_t(I%iWW`PFq0`g}=E!U{JsWbdjMzLLlK+pi7lDEy^RLh(tk? z$`Vo<7fAHHrOtjNAxS1>g}RmLx%gD?!_GoptJ&3uRs(s=&IU0Y{I-vU?gf?|<<#4;!Y)4(i7 z0wkd1F}&qlwrU1uu}Et#r4RmQ%$0&%Bs+y^s!JkG`8o*o*9pQ91xrWbSGCnMrb z2(yqPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^h} z1sNR`pNsYY00GfSL_t(I%XO1aYZFlv#eaAHG_|&-ww+Ro6hxu%8z^pEi95IAM{pr= zA%d%b;HC@3y?Z}GMJR8che_#P6t`dct_9Pz%o*#-1^jk5F$0a6A%B9s`kIa!^*i1e zmu9YXc()CYg1SBjH!edWfm~dt!pBC%wwjQfY1|L2H>glxVG?dFL6l_Y#$4D9VXFx; zP@11D6j zs;e1hHte=ALdk>rK0JM&?KgjBSW%6DGr~?Q??+WHLhSYZyM1x`Z7U`GjcFhr0OKPZpUP-Nap$c{gHy_HWy?O!85qfbR2NF1 fPcdnDKM(N_^q8=Qxw1dg00000NkvXXu0mjf%l!4b literal 0 HcmV?d00001 diff --git a/data/themes/default/images/setting.png b/data/themes/default/images/setting.png new file mode 100644 index 0000000000000000000000000000000000000000..de7f9b5786d1ea3aee91859c14bd3d6fe7ef5860 GIT binary patch literal 631 zcmV--0*L*IP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2i^h} z1v)Qd;jI?{00H+&L_t(I%Z-!0i&H@q#m~IS#<=7|1Z{)`+hDPz(n1RbA+idBmKK7A z+Grz!Vz~(Z1vY}9Heo?fh?OF-hzcQ+57{6m4?G10HELR>t3%{=ytn>PN$;*pwVdT$g6pv@pyb8pU)pnk_1r{ zy{}fQ8?$n`e~os#txBcRd8O3da=E+;06`FZYPDJtMbYzmz3vtQoO4Py#I$v`Ouu@+1QlqO)4!qNgjmP{v_vu{F)c%G->oaY?FvK1z> zY*J4wP38h5+IoT9(nkl@ij9WNJm&-gPb{<*r!AcOK63|_F1^C8b@9)?`UM2~Efw94 RWa9t;002ovPDHLkV1o8;67m25 literal 0 HcmV?d00001 diff --git a/data/themes/default/images/status.png b/data/themes/default/images/status.png new file mode 100644 index 0000000000000000000000000000000000000000..a8378d00e532aa8292f9f694b6f489e822c579cb GIT binary patch literal 549 zcmV+=0^0qFP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L00VXa00VXbebs`@00007bV*G`2i^h} z1vnwLZ{m^w00E^*L_t(I%cYY+ZW=)lMPF6dFeVUVh1gqfv&}XuZj!68&Ltw>gd5}t z5t5}yv4xBXjF{=J%EDL%1KFgcUUYx`ud4s6g=y&ImfotR1}d)*{!!WyK=;1Kb~dM# z$@jQeIv=cX@dIqD|}vM)&^7_ z3?o1jUkM(HvlhV*1OiRU0O8sTcMe0KGOrLR2o5E9(BP-lJmsM53z(3+<;nq(=W!w- z1|UuZV400?Sq^^j1mrhU*lL7W&8DOsCxN}70(heMh|H2ao63Q}WE%L0Oh?)GNBPgP zeV0=qvB3bFOplT@U1D03N_tJn08~gGP?Sr(VB8Ez+25F`B*|PA;Zj~WfR!y`iE3xW zCzR{19LLxdR1*V&@$RWATg3W?WT)O4`7HuYF0(+yE961lH$k zLFceIM?Co_p3fqJ&c=P3CUf5gUx1Gab;xNg3Bq9;@YsX<%RY_G=CqSr9ycB9cNM+t n=XWCnD#bS)?Wm@i&1wGv6bi*`!Kxvg00000NkvXXu0mjf9{}bp literal 0 HcmV?d00001 diff --git a/src/bin/hotkeys.c b/src/bin/hotkeys.c index d96394a..c72727b 100644 --- a/src/bin/hotkeys.c +++ b/src/bin/hotkeys.c @@ -55,7 +55,7 @@ f12_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, } static Evas_Object * -btn_create(Evas_Object *parent, const char *text, Evas_Smart_Cb cb, void *data) +btn_create(Evas_Object *parent, const char *text, Evas_Smart_Cb cb, void *data, const char *img_name) { Evas_Object *btn = elm_button_add(parent); elm_object_style_set(btn, "anchor"); @@ -66,6 +66,10 @@ btn_create(Evas_Object *parent, const char *text, Evas_Smart_Cb cb, void *data) evas_object_smart_callback_add(btn, "clicked", cb, data); evas_object_show(btn); + Evas_Object *img = elm_image_add(btn); + elm_image_file_set(img, EDJE_PATH, img_name); + elm_object_content_set(btn, img); + return btn; } @@ -78,40 +82,40 @@ hotkeys_create(Evas_Object *parent, edit_data *ed) Evas_Object *btn; - btn = btn_create(box, "F1: About", f1_cb, NULL); + btn = btn_create(box, "About", f1_cb, NULL, "logo"); elm_box_pack_end(box, btn); - btn = btn_create(box, "F2: New", f2_cb, NULL); + btn = btn_create(box, "New", f2_cb, NULL, "new"); elm_box_pack_end(box, btn); - btn = btn_create(box, "F3: Save", f3_cb, NULL); + btn = btn_create(box, "Save", f3_cb, NULL, "save"); elm_box_pack_end(box, btn); - btn = btn_create(box, "F4: Load", f4_cb, NULL); + btn = btn_create(box, "Load", f4_cb, NULL, "load"); elm_box_pack_end(box, btn); - btn = btn_create(box, "F5: Line Num", f5_cb, ed); + btn = btn_create(box, "Lines", f5_cb, ed, "lines"); elm_box_pack_end(box, btn); - btn = btn_create(box, "F6: Status", f6_cb, NULL); + btn = btn_create(box, "Status", f6_cb, NULL, "status"); elm_box_pack_end(box, btn); - btn = btn_create(box, "F7: ---", NULL, NULL); + btn = btn_create(box, "---", NULL, NULL, NULL); elm_box_pack_end(box, btn); - btn = btn_create(box, "F8: ---", NULL, NULL); + btn = btn_create(box, "---", NULL, NULL, NULL); elm_box_pack_end(box, btn); - btn = btn_create(box, "F9: ---", NULL, NULL); + btn = btn_create(box, "---", NULL, NULL, NULL); elm_box_pack_end(box, btn); - btn = btn_create(box, "F10: ---", NULL, NULL); + btn = btn_create(box, "---", NULL, NULL, NULL); elm_box_pack_end(box, btn); - btn = btn_create(box, "F11: ---", NULL, NULL); + btn = btn_create(box, "---", NULL, NULL, NULL); elm_box_pack_end(box, btn); - btn = btn_create(box, "F12: Setting", f12_cb, NULL); + btn = btn_create(box, "Setting", f12_cb, NULL, "setting"); elm_box_pack_end(box, btn); return box; From a020bbe71e6fdfc4092b832081e2fd551b6998b2 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Sat, 22 Feb 2014 15:05:47 +0900 Subject: [PATCH 17/20] hotkeys - adjust hotkey area height --- data/themes/default/layout.edc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/themes/default/layout.edc b/data/themes/default/layout.edc index 79da16b..fc4c2c3 100644 --- a/data/themes/default/layout.edc +++ b/data/themes/default/layout.edc @@ -284,7 +284,7 @@ group { name: "main_layout"; description { state: "default" 0.0; rel1.relative: 0 0; rel2.relative: 1 0; - min: 0 30; + min: 0 26; fixed: 0 1; align: 0.5 0; } From 5000b3c3a237c2cd80e0678428fc315a437d952b Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Sat, 22 Feb 2014 15:10:50 +0900 Subject: [PATCH 18/20] about - adjust font size from 12 -> default --- src/bin/menu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/menu.c b/src/bin/menu.c index 079e25e..07abb23 100644 --- a/src/bin/menu.c +++ b/src/bin/menu.c @@ -547,7 +547,7 @@ about_open(menu_data *md) elm_object_part_content_set(layout, "elm.swallow.entry", entry); - elm_entry_entry_append(entry, ""); + elm_entry_entry_append(entry, ""); //Read README char buf[PATH_MAX]; From 917844352434b0f65bf1c709c2008c58dc724c93 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Sat, 22 Feb 2014 15:24:53 +0900 Subject: [PATCH 19/20] search - start to implement search/relace --- src/bin/Makefile.am | 1 + src/bin/main.c | 6 ++++++ src/bin/search.c | 9 +++++++++ src/include/Makefile.am | 3 ++- src/include/common.h | 1 + 5 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 src/bin/search.c diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am index 16d09b2..9c09b02 100644 --- a/src/bin/Makefile.am +++ b/src/bin/Makefile.am @@ -27,6 +27,7 @@ enventor_SOURCES = \ edj_mgr.c \ build.c \ hotkeys.c \ + search.c \ globals.c enventor_LDADD = @ENVENTOR_LIBS@ diff --git a/src/bin/main.c b/src/bin/main.c index 50f21f0..021e3ea 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -162,6 +162,12 @@ ctrl_func(app_data *ad, const char *key) //Go to Begin/End if (!strcmp(key, "Home") || !strcmp(key, "End")) return ECORE_CALLBACK_PASS_ON; + //Find/Replace + if (!strcmp(key, "f") || !strcmp(key, "F")) + { + search_edit_word(ad->ed, "RECT"); + return ECORE_CALLBACK_DONE; + } //Template Code if (!strcmp(key, "t") || !strcmp(key, "T")) { diff --git a/src/bin/search.c b/src/bin/search.c new file mode 100644 index 0000000..c465349 --- /dev/null +++ b/src/bin/search.c @@ -0,0 +1,9 @@ +#include +#include "common.h" + +void +search_edit_word(edit_data *ed, const char *word) +{ +printf("search word - %s\n", word); +fflush(stdout); +} diff --git a/src/include/Makefile.am b/src/include/Makefile.am index 3cab40d..b449b61 100644 --- a/src/include/Makefile.am +++ b/src/include/Makefile.am @@ -18,4 +18,5 @@ EXTRA_DIST = common.h \ indent.h \ syntax_helper.h \ template_code.h \ - hotkeys.h + hotkeys.h \ + search.h diff --git a/src/include/common.h b/src/include/common.h index 921e2c2..a530df2 100644 --- a/src/include/common.h +++ b/src/include/common.h @@ -26,5 +26,6 @@ typedef struct indent_s indent_data; #include "build.h" #include "hotkeys.h" #include "base_gui.h" +#include "search.h" #endif From 496444ffc020bffb010975812e527e5e13fd564e Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Sat, 22 Feb 2014 15:42:17 +0900 Subject: [PATCH 20/20] hotkey - improve ui. --- data/themes/default/images/Makefile.am | 3 ++- .../default/images/hotkey_inset_light.png | Bin 0 -> 148 bytes data/themes/default/layout.edc | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 data/themes/default/images/hotkey_inset_light.png diff --git a/data/themes/default/images/Makefile.am b/data/themes/default/images/Makefile.am index 0ab4f48..48ad18b 100644 --- a/data/themes/default/images/Makefile.am +++ b/data/themes/default/images/Makefile.am @@ -67,4 +67,5 @@ EXTRA_DIST = \ save.png \ lines.png \ setting.png \ - status.png + status.png \ + hotkey_inset_light.png diff --git a/data/themes/default/images/hotkey_inset_light.png b/data/themes/default/images/hotkey_inset_light.png new file mode 100644 index 0000000000000000000000000000000000000000..ed4148ea203280fd63c5410d4b9a1cd7508b0cf9 GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrF!3HE-TH5A=1d4;)ofy`glX(f`uqAoByDx`7I;J!Gca%qgD@k*tT_@uLG}_)Usv{fOk!;69M%UjeznDp00i_>zopr0I07fQ~&?~ literal 0 HcmV?d00001 diff --git a/data/themes/default/layout.edc b/data/themes/default/layout.edc index fc4c2c3..e150f1a 100644 --- a/data/themes/default/layout.edc +++ b/data/themes/default/layout.edc @@ -4,6 +4,10 @@ styles { } } +images { + image: "hotkey_inset_light.png" COMP; +} + group { name: "viewer_layout"; parts { part { name: "prev_clipper"; @@ -293,6 +297,18 @@ group { name: "main_layout"; align: 0.5 1; } } + part { name: "hotkey_overlay"; + type: IMAGE; + scale: 1; + mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "elm.swallow.hotkeys"; + rel2.to: "elm.swallow.hotkeys"; + image.normal: "hotkey_inset_light.png"; + image.border: 0 0 0 1; + image.border_scale: 1; + } + } part { name: "elm.swallow.panes"; type: SWALLOW; scale: 1;