forked from enlightenment/ephoto
This is what I feel like is a middle ground for how directory browsing is handled in ephoto. Please give me useful feedback. Yes I know the directories/font of the directory labels need work, but you get the general idea, and that will be fixed soon.
SVN revision: 55098
This commit is contained in:
parent
51f36d538b
commit
cb528acc67
|
@ -3,6 +3,11 @@ externals {
|
||||||
}
|
}
|
||||||
|
|
||||||
collections {
|
collections {
|
||||||
|
images {
|
||||||
|
image: "up-128.png" COMP;
|
||||||
|
image: "directory-128.png" COMP;
|
||||||
|
image: "raise.png" COMP;
|
||||||
|
}
|
||||||
group { name: "elm/layout/ephoto/orient";
|
group { name: "elm/layout/ephoto/orient";
|
||||||
parts {
|
parts {
|
||||||
part { name: "elm.swallow.content";
|
part { name: "elm.swallow.content";
|
||||||
|
@ -124,4 +129,185 @@ collections {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
group { name: "ephoto,thumb,grid";
|
||||||
|
parts {
|
||||||
|
part { name: "ephoto.swallow.content.thumb";
|
||||||
|
type: SWALLOW;
|
||||||
|
mouse_events: 1;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1.relative: 0.0 0.0;
|
||||||
|
rel1.offset: 0 0;
|
||||||
|
rel2.relative: 1.0 1.0;
|
||||||
|
rel2.offset: -1 -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part { name: "overlay";
|
||||||
|
type: RECT;
|
||||||
|
mouse_events: 1;
|
||||||
|
description {
|
||||||
|
min: 1 40;
|
||||||
|
max: 9999 40;
|
||||||
|
fixed: 0 1;
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1.to: "ephoto.swallow.content.thumb";
|
||||||
|
rel1.relative: 0.0 0.0;
|
||||||
|
rel1.offset: 5 45;
|
||||||
|
rel2.to: "ephoto.swallow.content.thumb";
|
||||||
|
rel2.relative: 1.0 0.0;
|
||||||
|
rel2.offset: -5 0;
|
||||||
|
color: 0 0 0 120;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "lowered" 0.0;
|
||||||
|
rel1.to: "ephoto.swallow.content.thumb";
|
||||||
|
rel1.relative: 0.0 0.0;
|
||||||
|
rel1.offset: 5 5;
|
||||||
|
rel2.to: "ephoto.swallow.content.thumb";
|
||||||
|
rel2.relative: 1.0 1.0;
|
||||||
|
rel2.offset: -5 -5;
|
||||||
|
color: 0 0 0 120;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part { name: "ephoto.swallow.content.dir";
|
||||||
|
type: SWALLOW;
|
||||||
|
mouse_events: 1;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
visible: 0;
|
||||||
|
rel1.to: "ephoto.swallow.content.thumb";
|
||||||
|
rel1.relative: 0.0 0.0;
|
||||||
|
rel1.offset: 0 0;
|
||||||
|
rel1.to: "ephoto.swallow.content.thumb";
|
||||||
|
rel2.relative: 1.0 1.0;
|
||||||
|
rel2.offset: -1 -1;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "lowered" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part { name: "up";
|
||||||
|
type: IMAGE;
|
||||||
|
mouse_events: 1;
|
||||||
|
description
|
||||||
|
{
|
||||||
|
min: 32 32;
|
||||||
|
max: 32 32;
|
||||||
|
fixed: 1 1;
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1.to: "overlay";
|
||||||
|
rel1.relative: 0.0 0.0;
|
||||||
|
rel1.offset: 20 20;
|
||||||
|
rel2.to: "overlay";
|
||||||
|
rel2.relative: 0.0 0.0;
|
||||||
|
rel2.offset: 20 20;
|
||||||
|
image.normal: "up-128.png";
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "lowered" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part { name: "directory";
|
||||||
|
type: IMAGE;
|
||||||
|
mouse_events: 1;
|
||||||
|
description
|
||||||
|
{
|
||||||
|
min: 32 32;
|
||||||
|
max: 32 32;
|
||||||
|
fixed: 1 1;
|
||||||
|
state: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
rel1.to: "overlay";
|
||||||
|
rel1.relative: 1.0 0.0;
|
||||||
|
rel1.offset: -20 20;
|
||||||
|
rel2.to: "overlay";
|
||||||
|
rel2.relative: 1.0 0.0;
|
||||||
|
rel2.offset: -20 20;
|
||||||
|
image.normal: "directory-128.png";
|
||||||
|
}
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "lowered" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part { name: "raise";
|
||||||
|
type: IMAGE;
|
||||||
|
mouse_events: 1;
|
||||||
|
description
|
||||||
|
{
|
||||||
|
min: 32 32;
|
||||||
|
max: 32 32;
|
||||||
|
fixed: 1 1;
|
||||||
|
visible: 0;
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1.to: "overlay";
|
||||||
|
rel1.relative: 1.0 0.0;
|
||||||
|
rel1.offset: -20 20;
|
||||||
|
rel2.to: "overlay";
|
||||||
|
rel2.relative: 1.0 0.0;
|
||||||
|
rel2.offset: -20 20;
|
||||||
|
image.normal: "raise.png";
|
||||||
|
}
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "lowered" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
programs {
|
||||||
|
program { name: "up_clicked";
|
||||||
|
source: "up";
|
||||||
|
signal: "mouse,up,*";
|
||||||
|
action: SIGNAL_EMIT "ephoto.signal.up" "ephoto";
|
||||||
|
}
|
||||||
|
program { name: "dir_clicked";
|
||||||
|
source: "directory";
|
||||||
|
signal: "mouse,up,*";
|
||||||
|
action: SIGNAL_EMIT "ephoto.signal.dir" "ephoto";
|
||||||
|
after: "lower2";
|
||||||
|
}
|
||||||
|
program { name: "raise_clicked";
|
||||||
|
source: "raise";
|
||||||
|
signal: "mouse,up,*";
|
||||||
|
action: SIGNAL_EMIT "ephoto.signal.raise" "ephoto";
|
||||||
|
after: "raise2";
|
||||||
|
}
|
||||||
|
program { name: "lower";
|
||||||
|
action: STATE_SET "lowered" 0.0;
|
||||||
|
transition: ACCELERATE 0.6;
|
||||||
|
target: "overlay";
|
||||||
|
after: "lower3";
|
||||||
|
}
|
||||||
|
program { name: "lower2";
|
||||||
|
action: STATE_SET "lowered" 0.0;
|
||||||
|
target: "directory";
|
||||||
|
target: "raise";
|
||||||
|
after: "lower";
|
||||||
|
}
|
||||||
|
program { name: "lower3";
|
||||||
|
action: STATE_SET "lowered" 0.0;
|
||||||
|
target: "ephoto.swallow.content.dir";
|
||||||
|
}
|
||||||
|
program { name: "raise";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
transition: ACCELERATE 0.6;
|
||||||
|
target: "overlay";
|
||||||
|
}
|
||||||
|
program { name: "raise2";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "directory";
|
||||||
|
target: "raise";
|
||||||
|
target: "ephoto.swallow.content.dir";
|
||||||
|
after: "raise";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,5 +10,6 @@ up-256.png \
|
||||||
up-512.png \
|
up-512.png \
|
||||||
directory-128.png \
|
directory-128.png \
|
||||||
directory-256.png \
|
directory-256.png \
|
||||||
directory-512.png
|
directory-512.png \
|
||||||
|
raise.png
|
||||||
|
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
|
@ -17,10 +17,13 @@ struct _Ephoto_Thumb_Browser
|
||||||
Evas_Object *edje;
|
Evas_Object *edje;
|
||||||
Evas_Object *fsel;
|
Evas_Object *fsel;
|
||||||
Evas_Object *grid;
|
Evas_Object *grid;
|
||||||
|
Evas_Object *dir_grid;
|
||||||
Evas_Object *toolbar;
|
Evas_Object *toolbar;
|
||||||
|
Evas_Object *overlay;
|
||||||
Eio_File *ls;
|
Eio_File *ls;
|
||||||
Eina_List *todo_items;
|
Eina_List *todo_items;
|
||||||
Eina_List *grid_items;
|
Eina_List *grid_items;
|
||||||
|
Eina_List *dir_grid_items;
|
||||||
Eina_List *handlers;
|
Eina_List *handlers;
|
||||||
struct {
|
struct {
|
||||||
Elm_Toolbar_Item *zoom_in;
|
Elm_Toolbar_Item *zoom_in;
|
||||||
|
@ -46,6 +49,8 @@ _grid_items_free(Ephoto_Thumb_Browser *tb)
|
||||||
{
|
{
|
||||||
eina_list_free(tb->grid_items);
|
eina_list_free(tb->grid_items);
|
||||||
tb->grid_items = NULL;
|
tb->grid_items = NULL;
|
||||||
|
eina_list_free(tb->dir_grid_items);
|
||||||
|
tb->dir_grid_items = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Ephoto_Entry *
|
static Ephoto_Entry *
|
||||||
|
@ -136,16 +141,6 @@ static const Elm_Gengrid_Item_Class _ephoto_thumb_dir_class = {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static const Elm_Gengrid_Item_Class _ephoto_thumb_up_class = {
|
|
||||||
"up",
|
|
||||||
{
|
|
||||||
_ephoto_thumb_item_label_get,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
_ephoto_thumb_item_del
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
static const Elm_Gengrid_Item_Class _ephoto_thumb_file_class = {
|
static const Elm_Gengrid_Item_Class _ephoto_thumb_file_class = {
|
||||||
"thumb",
|
"thumb",
|
||||||
{
|
{
|
||||||
|
@ -177,38 +172,50 @@ _entry_item_add(Ephoto_Thumb_Browser *tb, Ephoto_Entry *e)
|
||||||
{
|
{
|
||||||
const Elm_Gengrid_Item_Class *ic;
|
const Elm_Gengrid_Item_Class *ic;
|
||||||
int near_cmp;
|
int near_cmp;
|
||||||
|
Evas_Object *grid_of_choice;
|
||||||
Elm_Gengrid_Item *near_item = NULL;
|
Elm_Gengrid_Item *near_item = NULL;
|
||||||
Eina_List *near_node = NULL;
|
Eina_List *near_node = NULL, *list_of_choice = NULL;
|
||||||
|
|
||||||
|
|
||||||
|
if (e->is_dir)
|
||||||
|
{
|
||||||
|
ic = &_ephoto_thumb_dir_class;
|
||||||
|
grid_of_choice = tb->dir_grid;
|
||||||
|
list_of_choice = tb->dir_grid_items;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ic = &_ephoto_thumb_file_class;
|
||||||
|
grid_of_choice = tb->grid;
|
||||||
|
list_of_choice = tb->grid_items;
|
||||||
|
}
|
||||||
|
|
||||||
near_node = eina_list_search_sorted_near_list
|
near_node = eina_list_search_sorted_near_list
|
||||||
(tb->grid_items, _entry_cmp, e, &near_cmp);
|
(list_of_choice, _entry_cmp, e, &near_cmp);
|
||||||
|
|
||||||
if (near_node)
|
if (near_node)
|
||||||
near_item = near_node->data;
|
near_item = near_node->data;
|
||||||
|
|
||||||
if (e->is_dir) ic = &_ephoto_thumb_dir_class;
|
|
||||||
else ic = &_ephoto_thumb_file_class;
|
|
||||||
|
|
||||||
if (!near_item)
|
if (!near_item)
|
||||||
{
|
{
|
||||||
e->item = elm_gengrid_item_append(tb->grid, ic, e, NULL, NULL);
|
e->item = elm_gengrid_item_append(grid_of_choice, ic, e, NULL, NULL);
|
||||||
tb->grid_items = eina_list_append(tb->grid_items, e->item);
|
list_of_choice = eina_list_append(list_of_choice, e->item);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (near_cmp < 0)
|
if (near_cmp < 0)
|
||||||
{
|
{
|
||||||
e->item = elm_gengrid_item_insert_after
|
e->item = elm_gengrid_item_insert_after
|
||||||
(tb->grid, ic, e, near_item, NULL, NULL);
|
(grid_of_choice, ic, e, near_item, NULL, NULL);
|
||||||
tb->grid_items = eina_list_append_relative
|
list_of_choice = eina_list_append_relative
|
||||||
(tb->grid_items, e->item, near_item);
|
(list_of_choice, e->item, near_item);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
e->item = elm_gengrid_item_insert_before
|
e->item = elm_gengrid_item_insert_before
|
||||||
(tb->grid, ic, e, near_item, NULL, NULL);
|
(grid_of_choice, ic, e, near_item, NULL, NULL);
|
||||||
tb->grid_items = eina_list_prepend_relative
|
list_of_choice = eina_list_prepend_relative
|
||||||
(tb->grid_items, e->item, near_item);
|
(list_of_choice, e->item, near_item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,29 +229,6 @@ _entry_item_add(Ephoto_Thumb_Browser *tb, Ephoto_Entry *e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
_up_item_add_if_required(Ephoto_Thumb_Browser *tb)
|
|
||||||
{
|
|
||||||
Ephoto_Entry *entry;
|
|
||||||
char *parent_dir;
|
|
||||||
|
|
||||||
if ((elm_gengrid_first_item_get(tb->grid)) ||
|
|
||||||
(strcmp(tb->ephoto->config->directory, "/") == 0))
|
|
||||||
return;
|
|
||||||
|
|
||||||
parent_dir = ecore_file_dir_get(tb->ephoto->config->directory);
|
|
||||||
if (!parent_dir) return;
|
|
||||||
|
|
||||||
entry = ephoto_entry_new(tb->ephoto, parent_dir, PARENT_DIR);
|
|
||||||
free(parent_dir);
|
|
||||||
EINA_SAFETY_ON_NULL_RETURN(entry);
|
|
||||||
entry->is_up = EINA_TRUE;
|
|
||||||
entry->is_dir = EINA_TRUE;
|
|
||||||
entry->item = elm_gengrid_item_append
|
|
||||||
(tb->grid, &_ephoto_thumb_up_class, entry, NULL, NULL);
|
|
||||||
/* does not go into entries as it is always the first - no sort! */
|
|
||||||
}
|
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_todo_items_process(void *data)
|
_todo_items_process(void *data)
|
||||||
{
|
{
|
||||||
|
@ -255,8 +239,6 @@ _todo_items_process(void *data)
|
||||||
if ((tb->ls) && (eina_list_count(tb->todo_items) < TODO_ITEM_MIN_BATCH))
|
if ((tb->ls) && (eina_list_count(tb->todo_items) < TODO_ITEM_MIN_BATCH))
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
|
|
||||||
_up_item_add_if_required(tb);
|
|
||||||
|
|
||||||
tb->animator.todo_items = NULL;
|
tb->animator.todo_items = NULL;
|
||||||
|
|
||||||
EINA_LIST_FREE(tb->todo_items, entry)
|
EINA_LIST_FREE(tb->todo_items, entry)
|
||||||
|
@ -309,6 +291,7 @@ _zoom_set(Ephoto_Thumb_Browser *tb, int zoom)
|
||||||
|
|
||||||
ephoto_thumb_size_set(tb->ephoto, zoom);
|
ephoto_thumb_size_set(tb->ephoto, zoom);
|
||||||
elm_gengrid_item_size_set(tb->grid, zoom, zoom);
|
elm_gengrid_item_size_set(tb->grid, zoom, zoom);
|
||||||
|
elm_gengrid_item_size_set(tb->dir_grid, zoom, zoom);
|
||||||
|
|
||||||
elm_toolbar_item_disabled_set(tb->action.zoom_out, zoom == ZOOM_MIN);
|
elm_toolbar_item_disabled_set(tb->action.zoom_out, zoom == ZOOM_MIN);
|
||||||
elm_toolbar_item_disabled_set(tb->action.zoom_in, zoom == ZOOM_MAX);
|
elm_toolbar_item_disabled_set(tb->action.zoom_in, zoom == ZOOM_MAX);
|
||||||
|
@ -447,6 +430,7 @@ _ephoto_thumb_populate_start(void *data, int type __UNUSED__, void *event __UNUS
|
||||||
_todo_items_free(tb);
|
_todo_items_free(tb);
|
||||||
_grid_items_free(tb);
|
_grid_items_free(tb);
|
||||||
elm_gengrid_clear(tb->grid);
|
elm_gengrid_clear(tb->grid);
|
||||||
|
elm_gengrid_clear(tb->dir_grid);
|
||||||
elm_fileselector_entry_path_set(tb->fsel, tb->ephoto->config->directory);
|
elm_fileselector_entry_path_set(tb->fsel, tb->ephoto->config->directory);
|
||||||
|
|
||||||
edje_object_signal_emit(tb->edje, "populate,start", "ephoto");
|
edje_object_signal_emit(tb->edje, "populate,start", "ephoto");
|
||||||
|
@ -466,8 +450,6 @@ _ephoto_thumb_populate_end(void *data, int type __UNUSED__, void *event __UNUSED
|
||||||
return ECORE_CALLBACK_PASS_ON;
|
return ECORE_CALLBACK_PASS_ON;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!tb->animator.todo_items) _up_item_add_if_required(tb);
|
|
||||||
|
|
||||||
edje_object_signal_emit(tb->edje, "populate,stop", "ephoto");
|
edje_object_signal_emit(tb->edje, "populate,stop", "ephoto");
|
||||||
|
|
||||||
return ECORE_CALLBACK_PASS_ON;
|
return ECORE_CALLBACK_PASS_ON;
|
||||||
|
@ -499,6 +481,26 @@ _ephoto_thumb_entry_create(void *data, int type __UNUSED__, void *event)
|
||||||
return ECORE_CALLBACK_PASS_ON;
|
return ECORE_CALLBACK_PASS_ON;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_ephoto_up_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
Ephoto_Thumb_Browser *tb = data;
|
||||||
|
char *parent_dir;
|
||||||
|
|
||||||
|
parent_dir = ecore_file_dir_get(tb->ephoto->config->directory);
|
||||||
|
if (!parent_dir)
|
||||||
|
return;
|
||||||
|
ephoto_directory_set(tb->ephoto, parent_dir);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_ephoto_dir_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
Ephoto_Thumb_Browser *tb = data;
|
||||||
|
|
||||||
|
evas_object_show(tb->dir_grid);
|
||||||
|
}
|
||||||
|
|
||||||
Evas_Object *
|
Evas_Object *
|
||||||
ephoto_thumb_browser_add(Ephoto *ephoto, Evas_Object *parent)
|
ephoto_thumb_browser_add(Ephoto *ephoto, Evas_Object *parent)
|
||||||
{
|
{
|
||||||
|
@ -558,26 +560,52 @@ ephoto_thumb_browser_add(Ephoto *ephoto, Evas_Object *parent)
|
||||||
evas_object_show(tb->fsel);
|
evas_object_show(tb->fsel);
|
||||||
elm_layout_box_append(layout, "elm.box.content", tb->fsel);
|
elm_layout_box_append(layout, "elm.box.content", tb->fsel);
|
||||||
|
|
||||||
tb->grid = elm_gengrid_add(layout);
|
tb->overlay = elm_layout_add(layout);
|
||||||
EINA_SAFETY_ON_NULL_GOTO(tb->grid, error);
|
elm_layout_file_set
|
||||||
|
(tb->overlay, PACKAGE_DATA_DIR "/themes/default/ephoto.edj",
|
||||||
|
"ephoto,thumb,grid");
|
||||||
evas_object_size_hint_weight_set
|
evas_object_size_hint_weight_set
|
||||||
(tb->grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
(tb->overlay, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
evas_object_size_hint_align_set(tb->grid, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
evas_object_size_hint_align_set
|
||||||
|
(tb->overlay, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
edje_object_signal_callback_add
|
||||||
|
(elm_layout_edje_get(tb->overlay), "ephoto.signal.up", "ephoto",
|
||||||
|
_ephoto_up_clicked, tb);
|
||||||
|
edje_object_signal_callback_add
|
||||||
|
(elm_layout_edje_get(tb->overlay), "ephoto.signal.dir", "ephoto",
|
||||||
|
_ephoto_dir_clicked, tb);
|
||||||
|
evas_object_show(tb->overlay);
|
||||||
|
elm_layout_box_append(tb->layout, "elm.box.content", tb->overlay);
|
||||||
|
|
||||||
|
tb->grid = elm_gengrid_add(tb->overlay);
|
||||||
|
EINA_SAFETY_ON_NULL_GOTO(tb->grid, error);
|
||||||
elm_gengrid_align_set(tb->grid, 0.5, 0.5);
|
elm_gengrid_align_set(tb->grid, 0.5, 0.5);
|
||||||
elm_gengrid_bounce_set(tb->grid, EINA_FALSE, EINA_TRUE);
|
elm_gengrid_bounce_set(tb->grid, EINA_FALSE, EINA_TRUE);
|
||||||
evas_object_size_hint_align_set
|
evas_object_size_hint_align_set
|
||||||
(tb->grid, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
(tb->grid, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
evas_object_size_hint_weight_set
|
evas_object_size_hint_weight_set
|
||||||
(tb->grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
(tb->grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
|
||||||
evas_object_smart_callback_add
|
evas_object_smart_callback_add
|
||||||
(tb->grid, "selected", _ephoto_thumb_selected, tb);
|
(tb->grid, "selected", _ephoto_thumb_selected, tb);
|
||||||
|
|
||||||
_zoom_set(tb, tb->ephoto->config->thumb_size);
|
_zoom_set(tb, tb->ephoto->config->thumb_size);
|
||||||
|
|
||||||
evas_object_show(tb->grid);
|
evas_object_show(tb->grid);
|
||||||
elm_layout_box_append(tb->layout, "elm.box.content", tb->grid);
|
elm_layout_content_set
|
||||||
|
(tb->overlay, "ephoto.swallow.content.thumb", tb->grid);
|
||||||
|
|
||||||
|
tb->dir_grid = elm_gengrid_add(tb->overlay);
|
||||||
|
EINA_SAFETY_ON_NULL_GOTO(tb->dir_grid, error);
|
||||||
|
elm_gengrid_align_set(tb->dir_grid, 0.5, 0.5);
|
||||||
|
elm_gengrid_bounce_set(tb->dir_grid, EINA_FALSE, EINA_TRUE);
|
||||||
|
evas_object_size_hint_align_set
|
||||||
|
(tb->dir_grid, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
evas_object_size_hint_weight_set
|
||||||
|
(tb->dir_grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_smart_callback_add
|
||||||
|
(tb->dir_grid, "selected", _ephoto_thumb_selected, tb);
|
||||||
|
_zoom_set(tb, tb->ephoto->config->thumb_size);
|
||||||
|
evas_object_show(tb->dir_grid);
|
||||||
|
elm_layout_content_set
|
||||||
|
(tb->overlay, "ephoto.swallow.content.dir", tb->dir_grid);
|
||||||
|
|
||||||
tb->handlers = eina_list_append
|
tb->handlers = eina_list_append
|
||||||
(tb->handlers, ecore_event_handler_add
|
(tb->handlers, ecore_event_handler_add
|
||||||
|
|
Loading…
Reference in New Issue