Compare commits
2 Commits
master
...
devs/nikaw
Author | SHA1 | Date |
---|---|---|
Mykyta Biliavskyi | 8ce488e506 | |
Mykyta Biliavskyi | 3a03096269 |
|
@ -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")
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 241 B |
|
@ -1284,6 +1284,438 @@ 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;
|
||||
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: "button.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 { "button.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 0;
|
||||
to_x: "button.pad";
|
||||
to_y: "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: "button.pad";
|
||||
}
|
||||
rel2.relative: 1 0;
|
||||
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: "live_edit_layout";
|
||||
data.item: "ctrl_size" "8";
|
||||
parts {
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -125,6 +125,7 @@ goto_open(Evas_Object *enventor)
|
|||
}
|
||||
|
||||
search_close();
|
||||
share_close();
|
||||
|
||||
gd = calloc(1, sizeof(goto_data));
|
||||
if (!gd)
|
||||
|
|
|
@ -325,6 +325,7 @@ search_open(Evas_Object *enventor)
|
|||
}
|
||||
|
||||
goto_close();
|
||||
share_close();
|
||||
|
||||
sd = calloc(1, sizeof(search_data));
|
||||
if (!sd)
|
||||
|
|
|
@ -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, "</br>");
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
|
|
@ -15,4 +15,5 @@ EXTRA_DIST = common.h \
|
|||
search.h \
|
||||
live_edit.h \
|
||||
console.h \
|
||||
file_mgr.h
|
||||
file_mgr.h \
|
||||
share.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
|
||||
|
|
|
@ -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);
|
Loading…
Reference in New Issue