tools: support mirror mode
Summary: Added new toolbar item to support mirror mode Test Plan: 1. luanch enventor 2. toggle mirror mode item of toolbar at the left-top or press ctrl + M 3. see the mirror mode working well Reviewers: Jaehyun_Cho, NikaWhite, Hermet Differential Revision: https://phab.enlightenment.org/D3813
This commit is contained in:
parent
21ed85b72b
commit
df7a9f51f8
1
README
1
README
|
@ -45,6 +45,7 @@ Ctrl+I - Toggle Auto Indentation
|
||||||
Ctrl+O - Toggle Auto Completion
|
Ctrl+O - Toggle Auto Completion
|
||||||
Ctrl+W - Toggle Dummy Parts
|
Ctrl+W - Toggle Dummy Parts
|
||||||
Ctrl+H - Toggle Part Highlighting
|
Ctrl+H - Toggle Part Highlighting
|
||||||
|
Ctrl+M - Toggle Mirror Mode
|
||||||
Ctrl+T - Insert Defaut Template Code
|
Ctrl+T - Insert Defaut Template Code
|
||||||
Ctrl+Mouse Wheel Up - View Zoom In / Font Size Up
|
Ctrl+Mouse Wheel Up - View Zoom In / Font Size Up
|
||||||
Ctrl+Mouse Wheel Down - View Zoom Out / Font Size Down
|
Ctrl+Mouse Wheel Down - View Zoom Out / Font Size Down
|
||||||
|
|
|
@ -27,6 +27,7 @@ Ctrl+I - Toggle Auto Indentation</br>
|
||||||
Ctrl+O - Toggle Auto Completion</br>
|
Ctrl+O - Toggle Auto Completion</br>
|
||||||
Ctrl+W - Toggle Dummy Parts</br>
|
Ctrl+W - Toggle Dummy Parts</br>
|
||||||
Ctrl+H - Toggle Part Highlighting</br>
|
Ctrl+H - Toggle Part Highlighting</br>
|
||||||
|
Ctrl+M - Toggle Mirror Mode</br>
|
||||||
Ctrl+T - Insert Defaut Template Code</br>
|
Ctrl+T - Insert Defaut Template Code</br>
|
||||||
Ctrl+Mouse Wheel Up - View Zoom In / Font Size Up</br>
|
Ctrl+Mouse Wheel Up - View Zoom In / Font Size Up</br>
|
||||||
Ctrl+Mouse Wheel Down - View Zoom Out / Font Size Down</br>
|
Ctrl+Mouse Wheel Down - View Zoom Out / Font Size Down</br>
|
||||||
|
|
|
@ -33,6 +33,7 @@ typedef struct config_s
|
||||||
Eina_Bool linenumber;
|
Eina_Bool linenumber;
|
||||||
Eina_Bool part_highlight;
|
Eina_Bool part_highlight;
|
||||||
Eina_Bool dummy_parts;
|
Eina_Bool dummy_parts;
|
||||||
|
Eina_Bool mirror_mode;
|
||||||
Eina_Bool auto_indent;
|
Eina_Bool auto_indent;
|
||||||
Eina_Bool tools;
|
Eina_Bool tools;
|
||||||
Eina_Bool console;
|
Eina_Bool console;
|
||||||
|
@ -177,6 +178,7 @@ config_load(void)
|
||||||
cd->linenumber = EINA_TRUE;
|
cd->linenumber = EINA_TRUE;
|
||||||
cd->part_highlight = EINA_TRUE;
|
cd->part_highlight = EINA_TRUE;
|
||||||
cd->dummy_parts = EINA_TRUE;
|
cd->dummy_parts = EINA_TRUE;
|
||||||
|
cd->mirror_mode = EINA_FALSE;
|
||||||
cd->auto_indent = EINA_TRUE;
|
cd->auto_indent = EINA_TRUE;
|
||||||
cd->tools = EINA_TRUE;
|
cd->tools = EINA_TRUE;
|
||||||
cd->console = EINA_TRUE;
|
cd->console = EINA_TRUE;
|
||||||
|
@ -289,6 +291,8 @@ eddc_init(void)
|
||||||
part_highlight, EET_T_UCHAR);
|
part_highlight, EET_T_UCHAR);
|
||||||
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "dummy_parts",
|
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "dummy_parts",
|
||||||
dummy_parts, EET_T_UCHAR);
|
dummy_parts, EET_T_UCHAR);
|
||||||
|
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "mirror_mode",
|
||||||
|
mirror_mode, EET_T_UCHAR);
|
||||||
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "auto_indent",
|
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "auto_indent",
|
||||||
auto_indent, EET_T_UCHAR);
|
auto_indent, EET_T_UCHAR);
|
||||||
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "tools",
|
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "tools",
|
||||||
|
@ -702,6 +706,20 @@ config_dummy_parts_set(Eina_Bool dummy_parts)
|
||||||
cd->dummy_parts = dummy_parts;
|
cd->dummy_parts = dummy_parts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Eina_Bool
|
||||||
|
config_mirror_mode_get(void)
|
||||||
|
{
|
||||||
|
config_data *cd = g_cd;
|
||||||
|
return cd->mirror_mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
config_mirror_mode_set(Eina_Bool mirror_mode)
|
||||||
|
{
|
||||||
|
config_data *cd = g_cd;
|
||||||
|
cd->mirror_mode = mirror_mode;
|
||||||
|
}
|
||||||
|
|
||||||
Eina_Bool
|
Eina_Bool
|
||||||
config_auto_indent_get(void)
|
config_auto_indent_get(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -42,6 +42,7 @@ tools_update(void)
|
||||||
tools_lines_update(EINA_FALSE);
|
tools_lines_update(EINA_FALSE);
|
||||||
tools_highlight_update(EINA_FALSE);
|
tools_highlight_update(EINA_FALSE);
|
||||||
tools_dummy_update(EINA_FALSE);
|
tools_dummy_update(EINA_FALSE);
|
||||||
|
tools_mirror_mode_update(EINA_FALSE);
|
||||||
tools_status_update(EINA_FALSE);
|
tools_status_update(EINA_FALSE);
|
||||||
tools_edc_navigator_update(EINA_FALSE);
|
tools_edc_navigator_update(EINA_FALSE);
|
||||||
}
|
}
|
||||||
|
@ -674,6 +675,12 @@ ctrl_func(app_data *ad, Evas_Event_Key_Down *event)
|
||||||
tools_dummy_update(EINA_TRUE);
|
tools_dummy_update(EINA_TRUE);
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
//Mirror Mode
|
||||||
|
if (!strcmp(event->key, "m") || !strcmp(event->key, "M"))
|
||||||
|
{
|
||||||
|
tools_mirror_mode_update(EINA_TRUE);
|
||||||
|
return EINA_TRUE;
|
||||||
|
}
|
||||||
//Template Code
|
//Template Code
|
||||||
if (!strcmp(event->key, "t") || !strcmp(event->key, "T"))
|
if (!strcmp(event->key, "t") || !strcmp(event->key, "T"))
|
||||||
{
|
{
|
||||||
|
@ -871,6 +878,8 @@ keygrabber_init(app_data *ad)
|
||||||
GRAB_ADD("H", modifier);
|
GRAB_ADD("H", modifier);
|
||||||
GRAB_ADD("w", modifier);
|
GRAB_ADD("w", modifier);
|
||||||
GRAB_ADD("W", modifier);
|
GRAB_ADD("W", modifier);
|
||||||
|
GRAB_ADD("m", modifier);
|
||||||
|
GRAB_ADD("M", modifier);
|
||||||
GRAB_ADD("t", modifier);
|
GRAB_ADD("t", modifier);
|
||||||
GRAB_ADD("T", modifier);
|
GRAB_ADD("T", modifier);
|
||||||
GRAB_ADD("i", modifier);
|
GRAB_ADD("i", modifier);
|
||||||
|
|
|
@ -11,6 +11,7 @@ typedef struct tools_s
|
||||||
Evas_Object *edc_navigator_btn;
|
Evas_Object *edc_navigator_btn;
|
||||||
Evas_Object *lines_btn;
|
Evas_Object *lines_btn;
|
||||||
Evas_Object *highlight_btn;
|
Evas_Object *highlight_btn;
|
||||||
|
Evas_Object *mirror_btn;
|
||||||
Evas_Object *goto_btn;
|
Evas_Object *goto_btn;
|
||||||
Evas_Object *find_btn;
|
Evas_Object *find_btn;
|
||||||
Evas_Object *console_btn;
|
Evas_Object *console_btn;
|
||||||
|
@ -45,6 +46,13 @@ dummy_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
tools_dummy_update(EINA_TRUE);
|
tools_dummy_update(EINA_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
mirror_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
|
void *event_info EINA_UNUSED)
|
||||||
|
{
|
||||||
|
tools_mirror_mode_update(EINA_TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
lines_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
lines_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
|
@ -187,6 +195,15 @@ tools_init(Evas_Object *parent)
|
||||||
elm_box_pack_end(box, btn);
|
elm_box_pack_end(box, btn);
|
||||||
td->swallow_btn = btn;
|
td->swallow_btn = btn;
|
||||||
|
|
||||||
|
//icon image is temporary, it should be changed to its own icon.
|
||||||
|
btn = tools_btn_create(box, "highlight", _("Mirror Mode (Ctrl + M)"),
|
||||||
|
mirror_cb);
|
||||||
|
elm_object_tooltip_orient_set(btn, ELM_TOOLTIP_ORIENT_BOTTOM_RIGHT);
|
||||||
|
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->mirror_btn = btn;
|
||||||
|
|
||||||
Evas_Object *sp;
|
Evas_Object *sp;
|
||||||
sp = elm_separator_add(box);
|
sp = elm_separator_add(box);
|
||||||
evas_object_show(sp);
|
evas_object_show(sp);
|
||||||
|
@ -387,6 +404,30 @@ tools_dummy_update(Eina_Bool toggle)
|
||||||
elm_object_signal_emit(td->swallow_btn, "icon,highlight,disabled", "");
|
elm_object_signal_emit(td->swallow_btn, "icon,highlight,disabled", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
tools_mirror_mode_update(Eina_Bool toggle)
|
||||||
|
{
|
||||||
|
tools_data *td = g_td;
|
||||||
|
if (!td) return;
|
||||||
|
|
||||||
|
if (toggle) config_mirror_mode_set(!config_mirror_mode_get());
|
||||||
|
enventor_object_mirror_mode_set(base_enventor_get(),
|
||||||
|
config_mirror_mode_get());
|
||||||
|
if (toggle)
|
||||||
|
{
|
||||||
|
if (config_mirror_mode_get())
|
||||||
|
stats_info_msg_update(_("Mirror Mode Enabled."));
|
||||||
|
else
|
||||||
|
stats_info_msg_update(_("Mirror Mode Disabled."));
|
||||||
|
}
|
||||||
|
|
||||||
|
//Toggle on/off
|
||||||
|
if (config_mirror_mode_get())
|
||||||
|
elm_object_signal_emit(td->mirror_btn, "icon,highlight,enabled", "");
|
||||||
|
else
|
||||||
|
elm_object_signal_emit(td->mirror_btn, "icon,highlight,disabled", "");
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
tools_status_update(Eina_Bool toggle)
|
tools_status_update(Eina_Bool toggle)
|
||||||
{
|
{
|
||||||
|
|
|
@ -54,7 +54,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 ROUNDING(x, dig) (floor((x) * pow(10, dig) + 0.5) / pow(10, dig))
|
||||||
|
|
||||||
#define ENVENTOR_CONFIG_VERSION 6
|
#define ENVENTOR_CONFIG_VERSION 7
|
||||||
|
|
||||||
#define EVENT_KEY_MODIFIER_CHECK(NAME, MASK) \
|
#define EVENT_KEY_MODIFIER_CHECK(NAME, MASK) \
|
||||||
((MASK & ECORE_EVENT_MODIFIER_##NAME) && \
|
((MASK & ECORE_EVENT_MODIFIER_##NAME) && \
|
||||||
|
|
|
@ -4,6 +4,7 @@ Evas_Object *tools_live_edit_get(Evas_Object *tools);
|
||||||
void tools_highlight_update(Eina_Bool toggle);
|
void tools_highlight_update(Eina_Bool toggle);
|
||||||
void tools_lines_update(Eina_Bool toggle);
|
void tools_lines_update(Eina_Bool toggle);
|
||||||
void tools_dummy_update(Eina_Bool toggle);
|
void tools_dummy_update(Eina_Bool toggle);
|
||||||
|
void tools_mirror_mode_update(Eina_Bool toggle);
|
||||||
void tools_status_update(Eina_Bool toggle);
|
void tools_status_update(Eina_Bool toggle);
|
||||||
void tools_edc_navigator_update(Eina_Bool toggle);
|
void tools_edc_navigator_update(Eina_Bool toggle);
|
||||||
void tools_goto_update(void);
|
void tools_goto_update(void);
|
||||||
|
|
|
@ -50,6 +50,7 @@ struct viewer_s
|
||||||
|
|
||||||
Eina_Bool edj_reload_need : 1;
|
Eina_Bool edj_reload_need : 1;
|
||||||
Eina_Bool file_set_finished : 1;
|
Eina_Bool file_set_finished : 1;
|
||||||
|
Eina_Bool mirror_mode : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *PART_NAME = "part_name";
|
const char *PART_NAME = "part_name";
|
||||||
|
@ -151,6 +152,13 @@ view_images_monitor_set(view_data *vd)
|
||||||
edje_edit_string_list_free(imgs);
|
edje_edit_string_list_free(imgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
view_mirror_mode_update(view_data *vd)
|
||||||
|
{
|
||||||
|
if (!vd) return;
|
||||||
|
edje_object_mirrored_set(vd->layout, vd->mirror_mode);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
view_obj_create_post_job(view_data *vd)
|
view_obj_create_post_job(view_data *vd)
|
||||||
{
|
{
|
||||||
|
@ -169,6 +177,8 @@ view_obj_create_post_job(view_data *vd)
|
||||||
if (enventor_obj_dummy_parts_get(vd->enventor))
|
if (enventor_obj_dummy_parts_get(vd->enventor))
|
||||||
dummy_obj_new(vd->layout);
|
dummy_obj_new(vd->layout);
|
||||||
|
|
||||||
|
view_mirror_mode_update(vd);
|
||||||
|
|
||||||
if (vd->changed_part.part)
|
if (vd->changed_part.part)
|
||||||
edje_edit_part_selected_state_set(vd->layout, vd->changed_part.part,
|
edje_edit_part_selected_state_set(vd->layout, vd->changed_part.part,
|
||||||
vd->changed_part.desc,
|
vd->changed_part.desc,
|
||||||
|
@ -367,6 +377,7 @@ update_edj_file_internal(view_data *vd)
|
||||||
view_obj_min_update(vd);
|
view_obj_min_update(vd);
|
||||||
view_part_highlight_set(vd, vd->part_name);
|
view_part_highlight_set(vd, vd->part_name);
|
||||||
dummy_obj_update(vd->layout);
|
dummy_obj_update(vd->layout);
|
||||||
|
view_mirror_mode_update(vd);
|
||||||
if (vd->changed_part.part)
|
if (vd->changed_part.part)
|
||||||
edje_edit_part_selected_state_set(vd->layout, vd->changed_part.part,
|
edje_edit_part_selected_state_set(vd->layout, vd->changed_part.part,
|
||||||
vd->changed_part.desc,
|
vd->changed_part.desc,
|
||||||
|
@ -612,6 +623,8 @@ view_init(Evas_Object *enventor, const char *group,
|
||||||
vd->view_config_size.w = 0;
|
vd->view_config_size.w = 0;
|
||||||
vd->view_config_size.h = 0;
|
vd->view_config_size.h = 0;
|
||||||
|
|
||||||
|
vd->mirror_mode = enventor_object_mirror_mode_get(vd->enventor);
|
||||||
|
|
||||||
return vd;
|
return vd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -812,6 +825,15 @@ view_size_get(view_data *vd, Evas_Coord *w, Evas_Coord *h)
|
||||||
*h = vd->view_config_size.h;
|
*h = vd->view_config_size.h;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
view_mirror_mode_set(view_data *vd, Eina_Bool mirror_mode)
|
||||||
|
{
|
||||||
|
if (!vd) return;
|
||||||
|
|
||||||
|
vd->mirror_mode = mirror_mode;
|
||||||
|
view_mirror_mode_update(vd);
|
||||||
|
}
|
||||||
|
|
||||||
Eina_List *
|
Eina_List *
|
||||||
view_parts_list_get(view_data *vd)
|
view_parts_list_get(view_data *vd)
|
||||||
{
|
{
|
||||||
|
|
|
@ -28,6 +28,15 @@ class Enventor.Object (Elm.Widget, Efl.File) {
|
||||||
dummy_parts: bool;
|
dummy_parts: bool;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@property mirror_mode {
|
||||||
|
set {
|
||||||
|
}
|
||||||
|
get {
|
||||||
|
}
|
||||||
|
values {
|
||||||
|
mirror_mode: bool;
|
||||||
|
}
|
||||||
|
}
|
||||||
@property auto_complete {
|
@property auto_complete {
|
||||||
set {
|
set {
|
||||||
}
|
}
|
||||||
|
|
|
@ -219,6 +219,8 @@ Evas_Object *view_obj_get(view_data *vd);
|
||||||
void view_new(view_data *vd, const char *group);
|
void view_new(view_data *vd, const char *group);
|
||||||
void view_part_highlight_set(view_data *vd, const char *part_name);
|
void view_part_highlight_set(view_data *vd, const char *part_name);
|
||||||
void view_dummy_set(view_data *vd, Eina_Bool dummy_on);
|
void view_dummy_set(view_data *vd, Eina_Bool dummy_on);
|
||||||
|
void view_mirror_mode_set(view_data *vd, Eina_Bool mirror_mode);
|
||||||
|
Eina_Bool view_mirror_mode_get(view_data *vd);
|
||||||
void view_program_run(view_data *vd, const char *program);
|
void view_program_run(view_data *vd, const char *program);
|
||||||
Eina_Stringshare *view_group_name_get(view_data *vd);
|
Eina_Stringshare *view_group_name_get(view_data *vd);
|
||||||
void *view_data_get(view_data *vd);
|
void *view_data_get(view_data *vd);
|
||||||
|
|
|
@ -31,6 +31,7 @@ typedef struct _Enventor_Object_Data
|
||||||
Eina_Bool dummy_parts : 1;
|
Eina_Bool dummy_parts : 1;
|
||||||
Eina_Bool key_down : 1;
|
Eina_Bool key_down : 1;
|
||||||
Eina_Bool part_cursor_jump : 1;
|
Eina_Bool part_cursor_jump : 1;
|
||||||
|
Eina_Bool mirror_mode : 1;
|
||||||
|
|
||||||
} Enventor_Object_Data;
|
} Enventor_Object_Data;
|
||||||
|
|
||||||
|
@ -539,6 +540,22 @@ _enventor_object_part_highlight_get(Eo *obj EINA_UNUSED,
|
||||||
return edit_part_highlight_get(pd->ed);
|
return edit_part_highlight_get(pd->ed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EOLIAN static void
|
||||||
|
_enventor_object_mirror_mode_set(Eo *obj EINA_UNUSED,
|
||||||
|
Enventor_Object_Data *pd,
|
||||||
|
Eina_Bool mirror_mode)
|
||||||
|
{
|
||||||
|
pd->mirror_mode = !!mirror_mode;
|
||||||
|
view_mirror_mode_set(VIEW_DATA, mirror_mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
EOLIAN static Eina_Bool
|
||||||
|
_enventor_object_mirror_mode_get(Eo *obj EINA_UNUSED,
|
||||||
|
Enventor_Object_Data *pd)
|
||||||
|
{
|
||||||
|
return pd->mirror_mode;
|
||||||
|
}
|
||||||
|
|
||||||
EOLIAN static void
|
EOLIAN static void
|
||||||
_enventor_object_focus_set(Eo *obj EINA_UNUSED,
|
_enventor_object_focus_set(Eo *obj EINA_UNUSED,
|
||||||
Enventor_Object_Data *pd EINA_UNUSED,
|
Enventor_Object_Data *pd EINA_UNUSED,
|
||||||
|
|
Loading…
Reference in New Issue