filepanel: add method to select by path and select upon tab promotion.
When a file is focussed in it's panel and tab the file is also selected in the filepanel. Another visual indicator of current focus and synchronises behaviour of tab selection and filepanel selection.
This commit is contained in:
parent
2731c4bb75
commit
7f1dfbb26e
|
@ -781,6 +781,18 @@ _filter_key_down_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
|||
elm_genlist_filter_set(tree, (void *)strdup(match));
|
||||
}
|
||||
|
||||
void
|
||||
edi_filepanel_select_path(const char *path)
|
||||
{
|
||||
Elm_Object_Item *item;
|
||||
|
||||
item = _file_listing_item_find(path);
|
||||
if (!item)
|
||||
return;
|
||||
|
||||
elm_genlist_item_selected_set(item, EINA_TRUE);
|
||||
}
|
||||
|
||||
void
|
||||
edi_filepanel_search()
|
||||
{
|
||||
|
|
|
@ -41,6 +41,7 @@ void edi_filepanel_add(Evas_Object *parent, Evas_Object *win,
|
|||
|
||||
const char *edi_filepanel_selected_path_get(Evas_Object *obj);
|
||||
|
||||
void edi_filepanel_select_path(const char *path);
|
||||
void edi_filepanel_search();
|
||||
|
||||
/**
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#include "mainview/edi_mainview_panel.h"
|
||||
#include "mainview/edi_mainview.h"
|
||||
|
||||
#include "edi_filepanel.h"
|
||||
#include "editor/edi_editor.h"
|
||||
#include "edi_content_provider.h"
|
||||
|
||||
|
@ -268,8 +269,9 @@ _promote(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
{
|
||||
Edi_Mainview_Panel *panel;
|
||||
Edi_Editor *editor;
|
||||
Edi_Mainview_Item *item = (Edi_Mainview_Item *) data;
|
||||
|
||||
panel = edi_mainview_panel_for_item_get((Edi_Mainview_Item *)data);
|
||||
panel = edi_mainview_panel_for_item_get((Edi_Mainview_Item *)item);
|
||||
|
||||
edi_mainview_panel_focus(panel);
|
||||
|
||||
|
@ -281,6 +283,8 @@ _promote(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor");
|
||||
if (editor)
|
||||
elm_object_focus_set(editor->entry, EINA_TRUE);
|
||||
|
||||
edi_filepanel_select_path(item->path);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in New Issue