enventor - support f2, f3, f4, f12 short cut keys

This commit is contained in:
ChunEon Park 2013-08-26 02:17:57 +09:00
parent 88db53d98e
commit d3f066b9f2
4 changed files with 72 additions and 24 deletions

6
README
View File

@ -36,12 +36,12 @@ Once you have met requirements, compiling and installing is simple:
Esc = Open/Close Menu
F1 = Help
//F2 = New
//F3 = Save
F2 = New
F3 = Save
F4 = Load
F5 = Show/Hide Line Number
F6 = Show/Hide Status
//F12 = Setting
F12 = Setting
Ctrl+S = Quick Save + Compile EDC
Ctrl+A = Select Text All
Ctrl+Double Click = Select a word

View File

@ -273,6 +273,18 @@ main_key_down_cb(void *data, int type EINA_UNUSED, void *ev)
ad->menu_opened = menu_help(ad->md);
return ECORE_CALLBACK_DONE;
}
//New
if (!strcmp(event->keyname, "F2"))
{
ad->menu_opened = menu_edc_new(ad->md);
return ECORE_CALLBACK_DONE;
}
//Save
if (!strcmp(event->keyname, "F3"))
{
ad->menu_opened = menu_edc_save(ad->md);
return ECORE_CALLBACK_DONE;
}
//Load
if (!strcmp(event->keyname, "F4"))
{
@ -280,19 +292,25 @@ main_key_down_cb(void *data, int type EINA_UNUSED, void *ev)
return ECORE_CALLBACK_DONE;
}
//Line Number
else if (!strcmp(event->keyname, "F5"))
if (!strcmp(event->keyname, "F5"))
{
config_linenumber_set(ad->cd, !config_linenumber_get(ad->cd));
edit_line_number_toggle(ad->ed);
return ECORE_CALLBACK_DONE;
}
//Statusbar
else if (!strcmp(event->keyname, "F6"))
if (!strcmp(event->keyname, "F6"))
{
config_stats_bar_set(ad->cd, !config_stats_bar_get(ad->cd));
statusbar_toggle(ad);
return ECORE_CALLBACK_DONE;
}
//Setting
if (!strcmp(event->keyname, "F12"))
{
ad->menu_opened = menu_setting(ad->md);
return ECORE_CALLBACK_DONE;
}
return ECORE_CALLBACK_PASS_ON;
}

View File

@ -66,7 +66,8 @@ warning_close(menu_data *md)
static void
menu_close(menu_data *md, Eina_Bool toggled)
{
elm_object_signal_emit(md->menu_layout, "elm,state,dismiss", "");
if (md->menu_layout)
elm_object_signal_emit(md->menu_layout, "elm,state,dismiss", "");
if (!toggled)
md->close_cb(md->close_cb_data);
@ -95,6 +96,7 @@ setting_dismiss_done(void *data, Evas_Object *obj EINA_UNUSED,
menu_data *md = data;
evas_object_del(md->setting_layout);
md->setting_layout = NULL;
if (!md->menu_layout) return;
elm_object_disabled_set(md->menu_layout, EINA_FALSE);
elm_object_focus_set(md->menu_layout, EINA_TRUE);
}
@ -107,11 +109,9 @@ help_dismiss_done(void *data, Evas_Object *obj EINA_UNUSED,
menu_data *md = data;
evas_object_del(md->help_layout);
md->help_layout = NULL;
if (md->menu_layout)
{
elm_object_disabled_set(md->menu_layout, EINA_FALSE);
elm_object_focus_set(md->menu_layout, EINA_TRUE);
}
if (!md->menu_layout) return;
elm_object_disabled_set(md->menu_layout, EINA_FALSE);
elm_object_focus_set(md->menu_layout, EINA_TRUE);
}
static void
@ -133,11 +133,9 @@ warning_dismiss_done(void *data, Evas_Object *obj EINA_UNUSED,
menu_data *md = data;
evas_object_del(md->warning_layout);
md->warning_layout = NULL;
if (md->menu_layout)
{
elm_object_disabled_set(md->menu_layout, EINA_FALSE);
elm_object_focus_set(md->menu_layout, EINA_TRUE);
}
if (!md->menu_layout) return;
elm_object_disabled_set(md->menu_layout, EINA_FALSE);
elm_object_focus_set(md->menu_layout, EINA_TRUE);
}
static void
@ -462,7 +460,8 @@ setting_open(menu_data *md)
elm_object_part_content_set(layout, "elm.swallow.reset_btn", btn);
elm_object_disabled_set(md->menu_layout, EINA_TRUE);
if (md->menu_layout)
elm_object_disabled_set(md->menu_layout, EINA_TRUE);
md->setting_layout = layout;
md->img_path_entry = img_path_entry;
@ -898,6 +897,30 @@ menu_help(menu_data *md)
return EINA_TRUE;
}
Eina_Bool
menu_setting(menu_data *md)
{
setting_open(md);
return EINA_TRUE;
}
Eina_Bool
menu_edc_new(menu_data *md)
{
if (edit_changed_get(md->ed))
warning_layout_create(md, new_yes_btn_cb, new_save_btn_cb);
else
edc_reload(md, PROTO_EDC_PATH);
return EINA_TRUE;
}
Eina_Bool
menu_edc_save(menu_data *md)
{
edc_file_save(md);
return EINA_TRUE;
}
Eina_Bool
menu_edc_load(menu_data *md)
{
@ -1019,6 +1042,7 @@ menu_toggle()
return EINA_TRUE;
}
}
//Short Cut Key Open Case
else
{
if (md->help_layout)
@ -1026,6 +1050,16 @@ menu_toggle()
help_close(md);
return EINA_FALSE;
}
if (md->fileselector_layout)
{
fileselector_close(md);
return EINA_FALSE;
}
if (md->setting_layout)
{
setting_close(md);
return EINA_FALSE;
}
}
//Ctxpopup
@ -1034,12 +1068,6 @@ menu_toggle()
elm_ctxpopup_dismiss(md->ctxpopup);
return EINA_FALSE;
}
//FileSelector
if (md->fileselector_layout)
{
fileselector_close(md);
return EINA_FALSE;
}
//Warning
if (md->warning_layout)
{

View File

@ -2,7 +2,9 @@ menu_data *menu_init(Evas_Object *win, edit_data *ed, config_data *cd, view_data
void menu_term(menu_data *md);
Eina_Bool menu_toggle();
void menu_ctxpopup_register(Evas_Object *ctxpopup);
Eina_Bool menu_edc_new(menu_data *md);
Eina_Bool menu_edc_save(menu_data *md);
Eina_Bool menu_edc_load(menu_data *md);
void menu_exit(menu_data *md);
Eina_Bool menu_help(menu_data *md);
Eina_Bool menu_setting(menu_data *md);