diff --git a/data/themes/default/images.edc b/data/themes/default/images.edc index 86c8056..550bbe8 100644 --- a/data/themes/default/images.edc +++ b/data/themes/default/images.edc @@ -19,6 +19,7 @@ images { image: "live_text.png" COMP; image: "live_textblock.png" COMP; image: "live_edit.png" COMP; + image: "share.png" COMP; } #define ICON_GROUP(_group_name, _image_path) \ @@ -32,6 +33,7 @@ images { } \ } ICON_GROUP("goto", "goto.png") +ICON_GROUP("share", "share.png") ICON_GROUP("menu", "menu.png") ICON_GROUP("find", "find.png") ICON_GROUP("highlight", "highlight.png") diff --git a/data/themes/default/images/share.png b/data/themes/default/images/share.png new file mode 100644 index 0000000..6ddeffe Binary files /dev/null and b/data/themes/default/images/share.png differ diff --git a/data/themes/default/layout_common.edc b/data/themes/default/layout_common.edc index 562340a..abb0d49 100644 --- a/data/themes/default/layout_common.edc +++ b/data/themes/default/layout_common.edc @@ -1284,6 +1284,427 @@ group { name: "search_layout"; } } +group { name: "share_success_layout"; + parts { + part { name: "base"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + min: 300 140; + } + } + part { name: "left_top_padding"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + rel1.to: "base"; + rel2.to: "base"; + rel1.relative: 0 0; + rel2.relative: 0 0; + fixed: 1 1; + align: 0 0; + min: 5 5; + } + } + part { name: "elm.text.link"; + type: TEXT; + scale: 1; + effect: SHADOW BOTTOM; + description { state: "default" 0.0; + align: 0 0; + rel1.to: "left_top_padding"; + rel2.to: "left_top_padding"; + rel1.relative: 1 1; + rel2.relative: 1 1; + text { + text: "Link: "; + font: FN; + size: 11; + align: 0 0; + min: 1 1; + ellipsis: -1; + } + color: 255 255 255 255; + color3: 0 0 0 128; + fixed: 1 1; + } + } + swallow { "elm.swallow.copy"; + desc { + align: 1 0.5; + rel1.relative: 1 0; + rel1.to_x: "base"; + rel1.to_y: "elm.text.link"; + rel2.relative: 0 1; + rel2.to_x: "right.pad"; + rel2.to_y: "elm.text.link"; + aspect: 1 1; + aspect_preference: BOTH; + } + } + spacer { "spec.pad"; + desc { + align: 1 0.5; + min: 5 5; + max: 5 5; + rel1.to: "base"; + rel2.to: "elm.swallow.copy"; + rel2.relative: 0 1; + } + } + swallow { "elm.swallow.open"; + desc { + align: 1 0.5; + rel1.relative: 0 0; + rel1.to_x: "base"; + rel1.to_y: "elm.swallow.copy"; + rel2.relative: 0 1; + rel2.to_x: "spec.pad"; + rel2.to_y: "elm.swallow.copy"; + aspect: 1 1; + aspect_preference: BOTH; + } + } + + spacer { "text.pad"; + desc { + fixed: 1 1; + max: 5 5; + align: 0 0; + rel1.to: "elm.text.link"; + rel2.to: "base"; + rel1.relative: 0 1; + } + } + + spacer { "right.pad"; + desc { + fixed: 1 1; + max: 5 5; + align: 1 0; + rel1.to: "base"; + rel2.to: "base"; + } + } + + part { name: "elm.swallow.entry"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + rel1.relative: 0 1; + rel2.relative: 0 0; + rel1.to: "text.pad"; + rel2.to_y: "button.pad"; + rel2.to_x: "right.pad"; + fixed: 1 1; + } + } + + spacer { "button.pad"; + desc { "default"; + min: 5 5; + max: 5 5; + fixed: 1 1; + align: 0.5 1; + rel2 { + to_x: "base"; + to_y: "elm.swallow.close"; + relative: 1 0; + } + rel1.to: "base"; + } + } + swallow { "elm.swallow.close"; + scale: 1; + desc { "default"; + align: 0.5 1; + rel1 { + relative: 0 1; + to: "base"; + } + rel2.relative: 1 0; + rel2.to_x: "base"; + rel2.to_y: "bottom.pad"; + min: 75 25; + max: 75 25; + fixed: 1 1; + } + } + spacer { "bottom.pad" + desc { + align: 1 1; + rel1.to: "base"; + rel2.to: "base"; + min: 5 5; + max: 5 5; + } + } + } +} + +group { name: "share_error_layout"; + parts { + part { name: "base"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + min: 300 140; + } + } + part { name: "left_top_padding"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + rel1.to: "base"; + rel2.to: "base"; + rel1.relative: 0 0; + rel2.relative: 0 0; + fixed: 1 1; + align: 0 0; + min: 5 5; + } + } + part { name: "elm.text.share"; + type: TEXT; + scale: 1; + effect: SHADOW BOTTOM; + description { state: "default" 0.0; + align: 0 0; + rel1.to: "left_top_padding"; + rel2.to: "left_top_padding"; + rel1.relative: 1 1; + rel2.relative: 1 1; + text { + text: "Error message: "; + font: FN; + size: 11; + align: 0 0; + min: 1 1; + ellipsis: -1; + } + color: 255 255 255 255; + color3: 0 0 0 128; + fixed: 1 1; + } + } + spacer { "text.pad"; + desc { + fixed: 1 1; + max: 5 5; + align: 0 0; + rel1.to: "elm.text.share"; + rel2.to: "base"; + rel1.relative: 0 1; + } + } + + spacer { "right.pad"; + desc { + fixed: 1 1; + max: 5 5; + align: 1 0; + rel1.to: "base"; + rel2.to: "base"; + } + } + + part { name: "elm.swallow.entry"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + rel1.relative: 0 1; + min: 50 50; + rel2.relative: 0 0; + rel1.to: "text.pad"; + rel2.to_y: "button.pad"; + rel2.to_x: "right.pad"; + fixed: 1 1; + } + } + + spacer { "button.pad"; + desc { "default"; + min: 5 5; + max: 5 5; + fixed: 1 1; + align: 0.5 1; + rel2 { + to_x: "base"; + to_y: "elm.swallow.share"; + relative: 1 0; + } + rel1.to: "base"; + } + } + part { name: "elm.swallow.share"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + rel2 { + relative: 0 0; + to_y: "bottom.pad"; + to_x: "button.pad"; + } + rel1.to: "base"; + min: 75 25; + max: 75 25; + align: 1 1; + fixed: 1 1; + } + } + swallow { "elm.swallow.cancel"; + scale: 1; + desc { "default"; + align: 0 1; + rel1 { + relative: 1 1; + to: "button.pad"; + } + rel2.relative: 1 0; + rel2.to_x: "base"; + rel2.to_y: "bottom.pad"; + min: 75 25; + max: 75 25; + fixed: 1 1; + } + } + spacer { "bottom.pad" + desc { + align: 1 1; + rel1.to: "base"; + rel2.to: "base"; + min: 5 5; + max: 5 5; + } + } + + } +} + +group { name: "share_base_layout"; + parts { + part { name: "base"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + min: 300 100; + } + } + part { name: "left_top_padding"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + rel1.relative: 0 0; + rel2.relative: 0 0; + fixed: 1 1; + align: 0 0; + min: 5 5; + } + } + part { name: "elm.text.share"; + type: TEXT; + scale: 1; + effect: SHADOW BOTTOM; + description { state: "default" 0.0; + align: 0 0; + rel1.to: "left_top_padding"; + rel2.to: "left_top_padding"; + rel1.relative: 1 1; + rel2.relative: 1 1; + text { + text: "Tags: "; + font: FN; + size: 11; + align: 0 0; + min: 1 1; + ellipsis: -1; + } + color: 255 255 255 255; + color3: 0 0 0 128; +// min: 180 20; + fixed: 1 1; + } + } + part { name: "elm.swallow.tags"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + rel1.relative: 1 0; + rel2.relative: 1 0; + rel1.to: "elm.text.share"; + rel2.to_y: "bottom.pad"; + rel2.offset: -5 -1; + fixed: 1 1; + } + } + part { name: "elm.text.msg"; + type: TEXT; + scale: 1; + effect: GLOW; + description { state: "default" 0.0; + align: 0 0; + rel1.to: "elm.text.share"; + rel2.to: "elm.text.share"; + rel1.relative: 0 1; + rel2.relative: 0 1; + rel1.offset: 0 10; + text { + font: FN; + size: 10; + align: 0 0.5; + } + color: 51 153 255 255; + color3: 51 153 255 18; + color2: 51 153 255 24; + min: 180 30; + fixed: 1 1; + } + } + + spacer { "bottom.pad"; + desc { "default"; + min: 5 5; + max: 5 5; + fixed: 1 1; + align: 0.5 1; + rel2 { + to_y: "elm.swallow.share"; + relative: 1 0; + } + } + + } + part { name: "elm.swallow.share"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + rel2 { + relative: 0 1; + to_x: "bottom.pad"; + } + min: 75 25; + max: 75 25; + align: 1 1; + fixed: 1 1; + } + } + swallow { "elm.swallow.cancel"; + scale: 1; + desc { "default"; + align: 0 1; + rel1 { + relative: 1 1; + to: "bottom.pad"; + } + min: 75 25; + max: 75 25; + fixed: 1 1; + + } + } + } +} + group { name: "live_edit_layout"; data.item: "ctrl_size" "8"; parts { diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am index 2a27e4f..08a4c71 100644 --- a/src/bin/Makefile.am +++ b/src/bin/Makefile.am @@ -26,7 +26,8 @@ enventor_SOURCES = \ globals.c \ live_edit.c \ console.c \ - file_mgr.c + file_mgr.c \ + share.c enventor_LDADD = \ $(top_builddir)/src/lib/libenventor.la \ diff --git a/src/bin/goto.c b/src/bin/goto.c index 80bcc04..b434642 100644 --- a/src/bin/goto.c +++ b/src/bin/goto.c @@ -125,6 +125,7 @@ goto_open(Evas_Object *enventor) } search_close(); + share_close(); gd = calloc(1, sizeof(goto_data)); if (!gd) diff --git a/src/bin/search.c b/src/bin/search.c index 1450093..6d2edb5 100644 --- a/src/bin/search.c +++ b/src/bin/search.c @@ -325,6 +325,7 @@ search_open(Evas_Object *enventor) } goto_close(); + share_close(); sd = calloc(1, sizeof(search_data)); if (!sd) diff --git a/src/bin/share.c b/src/bin/share.c new file mode 100644 index 0000000..c444d98 --- /dev/null +++ b/src/bin/share.c @@ -0,0 +1,315 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "common.h" + +typedef struct share_s +{ + Evas_Object *win; + Evas_Object *base_layout; + Evas_Object *tags_entry; + Evas_Object *enventor; + Evas_Object *error_layout; + Evas_Object *success_layout; + Evas_Object *link_entry; + Evas_Object *error_entry; + Eina_Stringshare *link; + Ecore_Event_Handler *event_data_handler; + Ecore_Event_Handler *event_error_handler; + Eina_Stringshare *cmd; +} share_data; + +static share_data *g_sd = NULL; +static Evas_Coord win_w = DEFAULT_SHARE_WIN_W; +static Evas_Coord win_h = DEFAULT_SHARE_WIN_H; + +void +share_close(void) +{ + share_data *sd = g_sd; + if (!sd) return; + eina_stringshare_del(sd->cmd); + evas_object_del(g_sd->win); + evas_object_del(sd->error_layout); + evas_object_del(sd->base_layout); + + free(sd); + g_sd = NULL; + +// tools_share_update(enventor, EINA_FALSE); +} +static Eina_Bool +exe_event_data_cb(void *data EINA_UNUSED, int type EINA_UNUSED, void *event_info); + +static Eina_Bool +exe_event_error_cb(void *data, int type EINA_UNUSED, void *event_info); + +static const char* +share_cmd_get(Evas_Object *enventor, Evas_Object *tags_entry) +{ + const char *edj_path = NULL; + const Eina_List *pathes = NULL; + + pathes = enventor_object_path_get(enventor, ENVENTOR_PATH_TYPE_EDJ); + edj_path = eina_list_data_get(pathes); + + if (!edj_path) return NULL; + + const char *tags = elm_entry_entry_get(tags_entry); + + return eina_stringshare_printf("edjshare %s %s", edj_path, tags); +} + +static void +share(void) +{ + share_data *sd = g_sd; + + sd->cmd = share_cmd_get(sd->enventor, sd->tags_entry); + printf("Command is: %s\n", sd->cmd); + + sd->event_data_handler = ecore_event_handler_add(ECORE_EXE_EVENT_DATA, + exe_event_data_cb, sd); + sd->event_error_handler = ecore_event_handler_add(ECORE_EXE_EVENT_ERROR, + exe_event_error_cb, sd); + + Ecore_Exe_Flags flags = (ECORE_EXE_PIPE_READ_LINE_BUFFERED | + ECORE_EXE_PIPE_READ | + ECORE_EXE_PIPE_ERROR_LINE_BUFFERED | + ECORE_EXE_PIPE_ERROR); + ecore_exe_pipe_run(sd->cmd, flags, NULL); +} + +static void +share_btn_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + share(); +} + +static void +win_delete_request_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + share_close(); +} + +static void +cancel_btn_cb(void *data EINA_UNUSED, + Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + share_close(); +} + +static void +link_copy_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *ei EINA_UNUSED) +{ + return; +} + +static void +link_open_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *ei EINA_UNUSED) +{ + return; +} + +static Eina_Bool +exe_event_data_cb(void *data EINA_UNUSED, + int type EINA_UNUSED, + void *event_info) +{ + Ecore_Exe_Event_Data *ev = event_info; + Ecore_Exe_Event_Data_Line *el = NULL; + int i = 0; + + share_data *sd = (share_data *)data; + evas_object_hide(sd->base_layout); + evas_object_hide(sd->error_layout); + + if (!sd->success_layout) + { + sd->success_layout = elm_layout_add(sd->win); + elm_layout_file_set(sd->success_layout, EDJE_PATH, "share_success_layout"); + evas_object_size_hint_weight_set(sd->success_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(sd->success_layout); + elm_win_resize_object_add(sd->win, sd->success_layout); + + sd->link_entry = elm_entry_add(sd->success_layout); + elm_entry_scrollable_set(sd->link_entry, EINA_TRUE); + elm_entry_editable_set(sd->link_entry, EINA_FALSE); + elm_entry_single_line_set(sd->link_entry, EINA_FALSE); + evas_object_size_hint_weight_set(sd->link_entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set (sd->link_entry, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(sd->link_entry); + elm_object_part_content_set(sd->success_layout, "elm.swallow.entry", sd->link_entry); + + Evas_Object *button = elm_button_add(sd->success_layout); + elm_object_text_set(button, "Close"); + elm_object_part_content_set(sd->success_layout, "elm.swallow.close", button); + evas_object_smart_callback_add(button, "clicked", cancel_btn_cb, sd); + evas_object_show(button); + + Evas_Object *icon = elm_icon_add(sd->success_layout); + elm_image_file_set(icon, EDJE_PATH, "save"); + evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + button = elm_button_add(sd->success_layout); + elm_object_part_content_set(button, "icon", icon); + evas_object_smart_callback_add(button, "clicked", link_copy_cb, sd); + evas_object_show(button); + elm_object_part_content_set(sd->success_layout, "elm.swallow.copy", button); + elm_object_disabled_set(button, EINA_TRUE); + + icon = elm_icon_add(sd->success_layout); + elm_image_file_set(icon, EDJE_PATH, "goto"); + evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + button = elm_button_add(sd->success_layout); + elm_object_part_content_set(button, "icon", icon); + evas_object_smart_callback_add(button, "clicked", link_open_cb, sd); + evas_object_show(button); + elm_object_part_content_set(sd->success_layout, "elm.swallow.open", button); + elm_object_disabled_set(button, EINA_TRUE); + + } + evas_object_show(sd->success_layout); + elm_entry_entry_insert(sd->link_entry, ""); + + fprintf(stdout, "Data:\n"); + for (el = ev->lines; el && el->line; el++, i++) + { + elm_entry_entry_append(sd->link_entry, el->line); + elm_entry_entry_append(sd->link_entry, "\n"); + fprintf(stdout, "\t%s\n", el->line); + } + return EINA_TRUE; +} + +static Eina_Bool +exe_event_error_cb(void *data, int type EINA_UNUSED, void *event_info) +{ + share_data *sd = (share_data *) data; + Ecore_Exe_Event_Data *ev = event_info; + Ecore_Exe_Event_Data_Line *el = NULL; + int i = 0; + + evas_object_hide(sd->base_layout); + evas_object_hide(sd->success_layout); + + if (!sd->error_layout) + { + sd->error_layout = elm_layout_add(sd->win); + evas_object_hide(sd->base_layout); + elm_layout_file_set(sd->error_layout, EDJE_PATH, "share_error_layout"); + evas_object_size_hint_weight_set(sd->error_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(sd->error_layout); + elm_win_resize_object_add(sd->win, sd->error_layout); + + sd->error_entry = elm_entry_add(sd->error_layout); + elm_entry_single_line_set(sd->error_entry, EINA_FALSE); + elm_entry_scrollable_set(sd->error_entry, EINA_TRUE); + elm_entry_editable_set(sd->error_entry, EINA_FALSE); + evas_object_size_hint_weight_set(sd->error_entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set (sd->error_entry, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(sd->error_entry); + elm_object_part_content_set(sd->error_layout, "elm.swallow.entry", sd->error_entry); + + Evas_Object *button = elm_button_add(sd->error_layout); + elm_object_text_set(button, "Cancel"); + elm_object_part_content_set(sd->error_layout, "elm.swallow.cancel", button); + evas_object_smart_callback_add(button, "clicked", cancel_btn_cb, sd); + evas_object_show(button); + + button = elm_button_add(sd->error_layout); + elm_object_text_set(button, "Try again"); + elm_object_part_content_set(sd->error_layout, "elm.swallow.share", button); + evas_object_smart_callback_add(button, "clicked", share_btn_cb, sd); + evas_object_show(button); + } + + evas_object_show(sd->error_layout); + elm_entry_entry_set(sd->error_entry, ""); + + fprintf(stdout, "Error:\n"); + for (el = ev->lines; el && el->line; el++, i++) + { + if (strcmp(el->line, "FAIL")) + { + elm_entry_entry_append(sd->error_entry, el->line); + elm_entry_entry_append(sd->error_entry, "
"); + } + fprintf(stdout, "\t%s\n", el->line); + } + return EINA_TRUE; +} + +void +share_open(Evas_Object *enventor) +{ + share_data *sd = g_sd; + + if (sd) + { + share_close(); + return; + } + + search_close(); + goto_close(); + + sd = calloc(1, sizeof(share_data)); + if (!sd) + { + EINA_LOG_ERR("Failed to allocate Memory!"); + return; + } + g_sd = sd; + + Evas_Object *win = elm_win_add(base_win_get(), "Share edj file", + ELM_WIN_DIALOG_BASIC); + elm_win_focus_highlight_enabled_set(win, EINA_TRUE); + elm_win_title_set(win, "Share edj file"); + evas_object_smart_callback_add(win, "delete,request", win_delete_request_cb, sd); + + Evas_Object *bg = elm_bg_add(win); + evas_object_show(bg); + elm_win_resize_object_add(win, bg); + + Evas_Object *base_layout = elm_layout_add(win); + elm_layout_file_set(base_layout, EDJE_PATH, "share_base_layout"); + evas_object_size_hint_weight_set(base_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(base_layout); + elm_win_resize_object_add(win, base_layout); + + Evas_Object *tags_entry = elm_entry_add(base_layout); + elm_entry_single_line_set(tags_entry, EINA_FALSE); + elm_entry_scrollable_set(tags_entry, EINA_TRUE); + evas_object_size_hint_weight_set(tags_entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(tags_entry, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(base_layout, "elm.swallow.tags", tags_entry); + evas_object_show(tags_entry); + elm_object_focus_set(tags_entry, EINA_TRUE); + elm_entry_entry_insert(tags_entry, "enventor"); + + Evas_Object *button_share = elm_button_add(base_layout); + elm_object_text_set(button_share, "Share"); + evas_object_smart_callback_add(button_share, "clicked", share_btn_cb, sd); + evas_object_show(button_share); + elm_object_part_content_set(base_layout, "elm.swallow.share", button_share); + + Evas_Object *button_cancel = elm_button_add(base_layout); + elm_object_text_set(button_cancel, "Cancel"); + evas_object_smart_callback_add(button_cancel, "clicked", cancel_btn_cb, sd); + evas_object_show(button_cancel); + elm_object_part_content_set(base_layout, "elm.swallow.cancel", button_cancel); + + win_w = (Evas_Coord) ((double) win_w * elm_config_scale_get()); + win_h = (Evas_Coord) ((double) win_h * elm_config_scale_get()); + evas_object_resize(win, win_w, win_h); + evas_object_show(win); + + sd->win = win; + sd->base_layout = base_layout; + sd->tags_entry = tags_entry; + sd->enventor = enventor; +} + diff --git a/src/bin/tools.c b/src/bin/tools.c index d251d06..8ec81b7 100644 --- a/src/bin/tools.c +++ b/src/bin/tools.c @@ -82,6 +82,15 @@ goto_cb(void *data, Evas_Object *obj EINA_UNUSED, else goto_open(enventor); } +static void +share_cb(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + Evas_Object *enventor = data; + live_edit_cancel(); + share_open(enventor); +} + static void console_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) @@ -232,6 +241,13 @@ tools_init(Evas_Object *parent, Evas_Object *enventor) elm_box_pack_end(box, btn); td->lines_btn = btn; + btn = tools_btn_create(box, "share", "Share edj file", + share_cb, enventor); + evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, 0.0, EVAS_HINT_FILL); + 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); diff --git a/src/include/Makefile.am b/src/include/Makefile.am index 2875f75..3e3fad9 100644 --- a/src/include/Makefile.am +++ b/src/include/Makefile.am @@ -15,4 +15,5 @@ EXTRA_DIST = common.h \ search.h \ live_edit.h \ console.h \ - file_mgr.h + file_mgr.h \ + share.h diff --git a/src/include/common.h b/src/include/common.h index 10eddb2..81e10ba 100644 --- a/src/include/common.h +++ b/src/include/common.h @@ -79,5 +79,6 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n" #include "live_edit.h" #include "console.h" #include "file_mgr.h" +#include "share.h" #endif diff --git a/src/include/share.h b/src/include/share.h new file mode 100644 index 0000000..ae378de --- /dev/null +++ b/src/include/share.h @@ -0,0 +1,6 @@ +#define DEFAULT_SHARE_WIN_W 330 +#define DEFAULT_SHARE_WIN_H 140 + + +void share_open(Evas_Object *enventor); +void share_close(void);