forked from enlightenment/enventor
file_browser: support to switch main EDC file.
F2 => set main edc F3 => quick jump F4 => revert quick jump (not done yet) F5 => reference tooltip.
This commit is contained in:
parent
1fda44ae6d
commit
997b878fa8
11
README
11
README
|
@ -30,12 +30,11 @@ Once you have met the requirements, compiling and installing is simple:
|
|||
[Short Cut Keys]
|
||||
|
||||
Esc - Open/Close Menu
|
||||
F1 - About
|
||||
F2 - New
|
||||
F3 - Save
|
||||
F4 - Load
|
||||
F5 - Quick Jump
|
||||
F6 - Keyword Reference
|
||||
F1 - Help
|
||||
F2 - Set Main EDC (in File Browser)
|
||||
F3 - Quick Jump (Open an including file / Jumping to a referencing part)
|
||||
F4 - Revert Quick Jump
|
||||
F5 - Keyword Reference
|
||||
F7 - Toggle Tools
|
||||
F8 - Toggle Status
|
||||
F9 - Toggle File Browser
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
<b>Functions:</b></br>
|
||||
Esc - Open/Close Menu</br>
|
||||
F1 - About</br>
|
||||
F2 - New</br>
|
||||
F3 - Save</br>
|
||||
F4 - Load</br>
|
||||
F5 - Quick Jump</br>
|
||||
F6 - Keyword Reference</br>
|
||||
F1 - Help</br>
|
||||
F2 - Set Main EDC (in File Browser)</br>
|
||||
F3 - Quick Jump (Open an including file / Jumping to a referencing part)</br>
|
||||
F4 - Revert Quick Jump</br>
|
||||
F5 - Keyword Reference</br>
|
||||
F7 - Toggle Tools</br>
|
||||
F8 - Toggle Status</br>
|
||||
F9 - Toggle File Browser</br>
|
||||
|
|
|
@ -35,7 +35,6 @@ typedef struct file_browser_s
|
|||
brows_file *workspace; //workspace directory
|
||||
Eina_List *search_file_list; /* list of searched files. This is only used for
|
||||
showing search results. */
|
||||
|
||||
Evas_Object *base_layout;
|
||||
Evas_Object *search_entry;
|
||||
Evas_Object *genlist;
|
||||
|
@ -45,6 +44,8 @@ typedef struct file_browser_s
|
|||
Elm_Genlist_Item_Class *search_itc;
|
||||
|
||||
File_Browser_Mode mode;
|
||||
|
||||
Elm_Object_Item *main_it;
|
||||
} brows_data;
|
||||
|
||||
static brows_data *g_bd = NULL;
|
||||
|
@ -90,6 +91,13 @@ gl_item_del_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
if (!file) return;
|
||||
|
||||
file->it = NULL;
|
||||
|
||||
//Reset Main Item
|
||||
if (file->main)
|
||||
{
|
||||
brows_data *bd = g_bd;
|
||||
bd->main_it = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static Elm_Object_Item *
|
||||
|
@ -121,6 +129,13 @@ file_genlist_item_append(brows_file *file, Elm_Object_Item *parent_it,
|
|||
|
||||
elm_genlist_item_expanded_set(file->it, EINA_FALSE);
|
||||
|
||||
//Keep Main Item
|
||||
if (file->main)
|
||||
{
|
||||
brows_data *bd = g_bd;
|
||||
bd->main_it = file->it;
|
||||
}
|
||||
|
||||
return file->it;
|
||||
}
|
||||
|
||||
|
@ -828,3 +843,54 @@ file_browser_refresh(void)
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
file_browser_selected_file_main_set(void)
|
||||
{
|
||||
const char *exception_msg = "Please select a main EDC file in file browser.";
|
||||
|
||||
brows_data *bd = g_bd;
|
||||
if (!bd) return;
|
||||
|
||||
Elm_Object_Item *it = elm_genlist_selected_item_get(bd->genlist);
|
||||
if(!it)
|
||||
{
|
||||
stats_info_msg_update(exception_msg);
|
||||
return;
|
||||
}
|
||||
|
||||
brows_file *file = elm_object_item_data_get(it);
|
||||
if (!file)
|
||||
{
|
||||
EINA_LOG_ERR("No item data??");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!file->path)
|
||||
{
|
||||
EINA_LOG_ERR("No item file path??");
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
if (!eina_str_has_extension(file->path, "edc"))
|
||||
{
|
||||
stats_info_msg_update(exception_msg);
|
||||
return;
|
||||
}
|
||||
|
||||
//Replace main item
|
||||
Elm_Object_Item *prev_main_it = bd->main_it;
|
||||
if (prev_main_it)
|
||||
{
|
||||
brows_file *prev_file = elm_object_item_data_get(prev_main_it);
|
||||
if (prev_file) prev_file->main = EINA_FALSE;
|
||||
else EINA_LOG_ERR("No item data??");
|
||||
}
|
||||
|
||||
file->main = EINA_TRUE;
|
||||
bd->main_it = file->it;
|
||||
|
||||
config_input_path_set(file->path);
|
||||
elm_genlist_realized_items_update(bd->genlist);
|
||||
}
|
||||
|
|
|
@ -116,7 +116,7 @@ syntax_color_init(Enventor_Object *enventor)
|
|||
}
|
||||
|
||||
static void
|
||||
main_edc_update(void)
|
||||
main_edc_update(Eina_Bool refresh)
|
||||
{
|
||||
//Update file browser only if main item is changed,
|
||||
Enventor_Item *main_it = enventor_object_main_item_get(base_enventor_get());
|
||||
|
@ -125,7 +125,8 @@ main_edc_update(void)
|
|||
if (prev_path == config_input_path_get()) return;
|
||||
|
||||
file_mgr_main_file_set(config_input_path_get());
|
||||
file_browser_refresh();
|
||||
|
||||
if (refresh) file_browser_refresh();
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -141,7 +142,7 @@ config_update_cb(void *data EINA_UNUSED)
|
|||
base_statusbar_toggle(EINA_FALSE);
|
||||
base_console_auto_hide();
|
||||
|
||||
main_edc_update();
|
||||
main_edc_update(EINA_TRUE);
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
|
@ -770,7 +771,7 @@ keygrabber_key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED,
|
|||
if (ctrl_func(ev)) return;
|
||||
if (alt_func(ev)) return;
|
||||
|
||||
//README
|
||||
//About
|
||||
if (!strcmp(ev->key, "F1"))
|
||||
{
|
||||
enventor_object_ctxpopup_dismiss(base_enventor_get());
|
||||
|
@ -778,37 +779,25 @@ keygrabber_key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED,
|
|||
help_open();
|
||||
return;
|
||||
}
|
||||
//New
|
||||
//Set Main EDC
|
||||
if (!strcmp(ev->key, "F2"))
|
||||
{
|
||||
enventor_object_ctxpopup_dismiss(base_enventor_get());
|
||||
live_edit_cancel(EINA_FALSE);
|
||||
menu_edc_new(EINA_FALSE);
|
||||
return;
|
||||
}
|
||||
//Save
|
||||
if (!strcmp(ev->key, "F3"))
|
||||
{
|
||||
enventor_object_ctxpopup_dismiss(base_enventor_get());
|
||||
live_edit_cancel(EINA_FALSE);
|
||||
menu_edc_save();
|
||||
return;
|
||||
}
|
||||
//Load
|
||||
if (!strcmp(ev->key, "F4"))
|
||||
{
|
||||
enventor_object_ctxpopup_dismiss(base_enventor_get());
|
||||
live_edit_cancel(EINA_FALSE);
|
||||
menu_edc_load();
|
||||
file_browser_selected_file_main_set();
|
||||
main_edc_update(EINA_FALSE);
|
||||
return;
|
||||
}
|
||||
//Quick Jump
|
||||
if (!strcmp(ev->key, "F5"))
|
||||
if (!strcmp(ev->key, "F3"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
//Revert Quick Jump
|
||||
if (!strcmp(ev->key, "F4"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
//Keyword Reference
|
||||
if (!strcmp(ev->key, "F6"))
|
||||
if (!strcmp(ev->key, "F5"))
|
||||
{
|
||||
enventor_object_ctxpopup_dismiss(base_enventor_get());
|
||||
enventor_object_keyword_reference_show(base_enventor_get());
|
||||
|
|
|
@ -4,3 +4,5 @@ void file_browser_workspace_set(const char *workspace_dir);
|
|||
void file_browser_tools_set(void);
|
||||
void file_browser_tools_visible_set(Eina_Bool visible);
|
||||
void file_browser_refresh(void);
|
||||
void file_browser_selected_file_main_set(void);
|
||||
void file_brwser_refresh(void);
|
||||
|
|
Loading…
Reference in New Issue