#define GE_ICON_CONTENTS_BROKEN GE_IMAGES_DIR"Contents_broken_351X261.png"
#define GE_ICON_MEMORY_CARD PREFIX"/res/images/"PACKAGE"/images/T01_album_icon_sd_card.png"
+#define GE_ICON_GALLERY PREFIX"/res/images/"PACKAGE"/images/attach_image_gallery.png"
#endif //__GE_ICON_H__
Evas_Object *split_view;
Elm_Gengrid_Item_Class *gic;
Elm_Gengrid_Item_Class *gic_first;
- Elm_Gengrid_Item_Class *no_content;
Elm_Object_Item *nf_it;
Elm_Object_Item *done_it;
#include "attach-panel-gallery-edc-res.h"
+//****************************************************************************//
+// Gengrid
+//****************************************************************************//
+
+#define GENGRID_ITEM_DEFAULT_REORDER_BG_NOR 0 0 0 0
+#define GENGRID_ITEM_DEFAULT_REORDER_BG_SEL 255 255 255 255
+#define GENGRID_ITEM_DEFAULT_BG_COLOR 0 0 0 0
+#define GENGRID_ITEM_DEFAULT_IMAGE_PADDING_LEFT_TOP 1 1
+#define GENGRID_ITEM_DEFAULT_IMAGE_PADDING_RIGHT_BOTTOM 1 1
+#define GENGRID_ITEM_DEFAULT_ICON_PADDING_LEFT_TOP 20 10 // 2 8
+#define GENGRID_ITEM_DEFAULT_ICON_PADDING_RIGHT_BOTTOM 20 20 // 2 8
+#define GENGRID_ITEM_DEFAULT_TEXT_PADDING_BOTTOM 39
+#define GENGRID_ITEM_DEFAULT_IMAGE_BORDER 10 10 10 10
+#define GENGRID_ITEM_DEFAULT_TEXT_COLOR 0 0 0 255
+#define GENGRID_ITEM_DEFAULT_TEXT_SIZE 20
+
externals {
external: "elm";
external: "feedback";
rel2 { relative: (W-GAP_W)/W (H-GAP_H)/H;} \
} \
}
-group {
- name: "elm/gengrid/item/gengrid_first_item/default";
- data.item: "texts" "tile_layout_text tile_layout_text_second";
- parts {
- part {
- name: "background";
- type, RECT;
- scale : 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 8/720 18/1280; }
- rel2 { relative: 716/720 1270/1280;}
- color: 61 185 204 255;
- }
- }
- part {
- name: "tile_layout_text_second";
- type: TEXT;
- mouse_events: 1;
- scale : 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 65/173; to: "background";}
- rel2 { relative: 1.0 108/173; to: "background";}
- text {
- size: 43;
- text: "ABC";
- min: 1 0;
- align: 0.5 0.5;
- }
- }
- }
- part {
- name: "content_swallow";
- type: RECT;
- mouse_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to: "background";}
- rel2 { relative: 1.0 1.0; to: "background";}
- color: 0 0 0 0;
- }
- }
- }
- programs {
- program {
- name: "touch_snd";
- source: "content_swallow";
- signal: "mouse,clicked,1";
- transition: DECELERATE 0.2;
- action: RUN_PLUGIN "touch_sound_plugin";
- }
+
+ group { name: "elm/gengrid/item/thumb_ge/default";
+ data.item: "texts" "elm.text";
+ data.item: "contents" "elm.swallow.icon";
+ images {
+ image: "gengrid_thumb_selected.png" COMP;
+ image: "gengrid_thumb_shadow.png" COMP;
+ image: "gengrid_thumb_stroke.png" COMP;
+ }
+ parts {
+ part { name: "base";
+ mouse_events: 0;
+ scale: 1;
+ type: RECT;
+ description { state: "default" 0.0;
+ color: GENGRID_ITEM_DEFAULT_BG_COLOR;
+ }
+ }
+ part { name: "bg";
+ clip_to: "disclip";
+ mouse_events: 0;
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ color: GENGRID_ITEM_DEFAULT_BG_COLOR;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ }
+ }
+ part { name: "elm.swallow.pad";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ rel1 {
+ to_y: "elm.padding.text.bottom";
+ relative: 0.0 1.0;
+ }
+ rel2 {
+ to_y: "elm.text";
+ relative: 0.0 0.0;
+ offset: -1 -1;
+ }
+ }
+ }
+ part { name: "elm.padding.icon.left-top";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0 0;
+ min: GENGRID_ITEM_DEFAULT_ICON_PADDING_LEFT_TOP;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ }
+ }
+ }
+ part { name: "elm.padding.icon.right-bottom";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 1 1;
+ min: GENGRID_ITEM_DEFAULT_ICON_PADDING_RIGHT_BOTTOM;
+ rel1 {
+ relative: 1 1;
+ }
+ rel2 {
+ to_y: "elm.swallow.pad";
+ relative: 1 0;
+ }
+ }
+ }
+ part { name: "elm.padding.image.left-top";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 0 0;
+ min: GENGRID_ITEM_DEFAULT_IMAGE_PADDING_LEFT_TOP;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ }
+ }
+ }
+ part { name: "elm.padding.image.right-bottom";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ align: 1 1;
+ min: GENGRID_ITEM_DEFAULT_IMAGE_PADDING_RIGHT_BOTTOM;
+ rel1 {
+ relative: 1 1;
+ }
+ rel2 {
+ to_y: "elm.swallow.pad";
+ relative: 1 0;
+ }
+ }
+ }
+ part { name: "elm.image.shadow";
+ clip_to: "disclip";
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ rel1 {
+ to: "elm.padding.image.left-top";
+ relative: 1 1;
+ }
+ rel2 {
+ to: "elm.padding.image.right-bottom";
+ relative: 0 0;
+ }
+ image
+ {
+ normal: "gengrid_thumb_shadow.png";
+ border: GENGRID_ITEM_DEFAULT_IMAGE_BORDER;
+ border_scale: 1;
+ }
+ }
+ }
+ part { name: "elm.swallow.icon";
+ clip_to: "disclip";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ min: 118 118;
+ max: 118 118;
+ rel1 {
+ to: "elm.padding.icon.left-top";
+ relative: 1 1;
+ }
+ rel2 {
+ to: "elm.padding.icon.right-bottom";
+ relative: 0 0;
+ }
+ }
+ }
+ part { name: "elm.image.stroke";
+ clip_to: "disclip";
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ rel1 {
+ to: "elm.padding.image.left-top";
+ relative: 1 1;
+ }
+ rel2 {
+ to: "elm.padding.image.right-bottom";
+ relative: 0 0;
+ }
+ image
+ {
+ normal: "gengrid_thumb_stroke.png";
+ border: GENGRID_ITEM_DEFAULT_IMAGE_BORDER;
+ border_scale: 1;
+ }
+ }
+ }
+ part { name: "elm.image.selected";
+ clip_to: "disclip";
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ align: 0.5 0.5;
+ visible: 0;
+ rel1 {
+ to: "elm.padding.image.left-top";
+ relative: 1 1;
+ }
+ rel2 {
+ to: "elm.padding.image.right-bottom";
+ relative: 0 0;
+ }
+ image {
+ normal: "gengrid_thumb_selected.png";
+ border: GENGRID_ITEM_DEFAULT_IMAGE_BORDER;
+ border_scale: 1;
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "elm.padding.text.bottom";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ align: 0.5 0;
+ min: 0 GENGRID_ITEM_DEFAULT_TEXT_PADDING_BOTTOM;
+ rel1 {
+ relative: 0 1;
+ }
+ rel2 {
+ relative: 1 1;
+ }
+ }
+ }
+ part { name: "elm.text";
+ clip_to: "disclip";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 {
+ to_x: "elm.padding.image.left-top";
+ relative: 1.0 1.1;
+ offset: 0 0;
+ }
+ rel2 {
+ to_x: "elm.padding.image.right-bottom";
+ to_y: "elm.padding.text.bottom";
+ relative: 0.0 1.1;
+ }
+ align: 0.5 1;
+ color: GENGRID_ITEM_DEFAULT_TEXT_COLOR;
+ text {
+ font: "SLP:style=Regular";
+ size: GENGRID_ITEM_DEFAULT_TEXT_SIZE;
+ min: 0 1;
+ align: 0.5 1;
+ text_class: "grid_item";
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part { name: "disclip";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "bg";
+ rel2.to: "bg";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 64;
+ }
+ }
+ part { name: "event";
+ type: RECT;
+ scale: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ // signal: elm,state,%s,active
+ // a "check" item named %s went active
+ // signal: elm,state,%s,passive
+ // a "check" item named %s went passive
+ // default is passive
+ program { name: "go_active";
+ signal: "elm,state,selected";
+ source: "elm";
+ action: STATE_SET "selected" 0.0;
+ target: "bg";
+ target: "elm.text";
+ target: "elm.image.selected";
+ }
+ program { name: "go_passive";
+ signal: "elm,state,unselected";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ target: "elm.text";
+ target: "elm.image.selected";
+ transition: LINEAR 0.1;
+ }
+ program { name: "go_disabled";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "disclip";
+ }
+ program { name: "go_enabled";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disclip";
+ }
+ program {
+ name: "touch_snd";
+ source: "event";
+ signal: "mouse,clicked,1";
+ transition: DECELERATE 0.2;
+ action: RUN_PLUGIN "touch_sound_plugin";
}
}
+}
+
group {
name: "nocontent";
parts {
}
group {
- name: "elm/gengrid/item/no_content/default";
- data.item: "contents" "content_swallow ";
- parts {
- part {
- name: "background";
- type, RECT;
- scale : 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative:1.0 1.0; }
- color: 255 255 255 255;
- }
- description {
- state: "visible" 0.0;
- rel1 { relative: 0.0 0.6; }
- rel2 { relative:1.0 1.0; }
- color: 0 255 0 255;
- }
- }
- part {
- name: "content_swallow";
- type: SWALLOW;
- scale : 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to: "background";}
- rel2 { relative: 1.0 1.0; to: "background";}
- }
- }
- }
- }
-
-group {
name: "elm/gengrid/item/gengrid_items/default";
data.item: "contents" "content_swallow checkbox_swallow sd_card_icon";
images {
image: No_thumbnail_351X261.png COMP;
image: gallery_icon_sd_card.png COMP;
+ image: "gengrid_thumb_selected.png" COMP;
}
parts {
part {
state: "default" 0.0;
rel1 {
relative: 0 0;
- to: background;
+ to: "background";
}
rel2 {
relative: 1 1;
- to: background;
+ to: "background";
}
image.normal: No_thumbnail_351X261.png;
}
state: "hidden" 0.0;
rel1 {
relative: 0 0;
- to: background;
+ to: "background";
}
rel2 {
relative: 1 1;
- to: background;
+ to: "background";
}
visible: 0;
image.normal: No_thumbnail_351X261.png;
rel2 { relative: 1.0 1.0; to: "background";}
}
}
+ part { name: "focus_bg";
+ type: IMAGE;
+ mouse_events: 1;
+ repeat_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ image.normal: "gengrid_thumb_selected.png";
+ image.border: 10 10 10 10;
+ image.border_scale: 1;
+ }
+ description { state: "enabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
part {
name: "checkbox_swallow";
type: SWALLOW;
rel2 { relative: (180 - 9)/180 (180 - 9)/180; to: "content_swallow";}
image.normal: gallery_icon_sd_card.png;
}
- }
+ }
part {
name: "sd_card_icon";
type: SWALLOW;
action: STATE_SET "default" 0.0;
target: "sd_card_icon_img_bg";
}
+ program { name: "go_active";
+ signal: "elm,state,selected";
+ source: "elm";
+ action: STATE_SET "enabled" 0.0;
+ target: "focus_bg";
+ }
+ program { name: "go_passive";
+ signal: "elm,state,unselected";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "focus_bg";
+ transition: LINEAR 0.1;
+ }
}
}
#include <media_content.h>
#include "ge-data-type.h"
#include "ge-debug.h"
+#include "ge-ugdata.h"
int _ge_data_type_new_media(ge_media_s ** item)
{
return 0;
}
-static int __ge_data_type_free_album(ge_album_s ** album)
+int _ge_data_type_free_geitem(void **pitem)
{
- GE_CHECK_VAL(album, -1);
- GE_CHECK_VAL(*album, -1);
- ge_album_s *tmp_album = *album;
-
- GE_FREEIF(tmp_album->uuid);
- GE_FREEIF(tmp_album->display_name);
- GE_FREEIF(tmp_album->path);
- GE_FREE(tmp_album);
- *album = NULL;
- return 0;
-}
-
-int _ge_data_type_free_geitem(void **item)
-{
- GE_CHECK_VAL(item, -1);
- GE_CHECK_VAL(*item, -1);
+ GE_CHECK_VAL(pitem, -1);
+ GE_CHECK_VAL(*pitem, -1);
int ret = -1;
- if (((ge_album_s *) * item)->gtype == GE_TYPE_ALBUM) {
- ret = __ge_data_type_free_album((ge_album_s **) item);
- } else if (((ge_media_s *) * item)->gtype == GE_TYPE_MEDIA ||
- ((ge_media_s *) * item)->gtype == GE_TYPE_WEB_MEDIA) {
- ret = __ge_data_type_free_media((ge_media_s **) item);
- }
+ ge_item **pitem_data = (ge_item **)pitem;
+ ret = __ge_data_type_free_media(&(*pitem_data)->item);
if (ret < 0) {
return -1;
GE_CHECK_VAL(item->media_h, -1);
int ret = -1;
ge_sdbg("File[%s]", item->file_url);
-
+ if (item->b_create_thumb) {
+ ge_dbgE("thumbnail generation request already sent, ignoring duplicate request");
+ return 0;
+ }
ret = media_info_create_thumbnail(item->media_h, callback, data);
if (ret != MEDIA_CONTENT_ERROR_NONE) {
ge_dbgE("Failed to create thumbnail[%d]!", ret);
Eina_List **elist = (Eina_List **) (td->userdata);
if (_ge_data_util_clone_media(media, &item, td->with_meta)) {
+ item->b_create_thumb = false;
*elist = eina_list_append(*elist, item);
return true;
} else {
GE_GENGRID_ITC_FREE(ugd->thumbs_d->gic);
GE_GENGRID_ITC_FREE(ugd->thumbs_d->gic_first);
- GE_GENGRID_ITC_FREE(ugd->thumbs_d->no_content);
GE_FREEIF(ugd->thumbs_d);
if (display_mode) {
if (!strcmp(display_mode, "single")) {
+ if (!ugd->b_multifile) {
+ return;
+ }
//change to single selection
ge_dbg("single_selection ");
if (ugd->nocontents) {
elm_naviframe_item_title_enabled_set(ugd->nf_it,
EINA_FALSE,
EINA_FALSE);
- } else if (display_mode && !strcmp(display_mode, "multiple")) {
+ } else if (!strcmp(display_mode, "multiple")) {
+ if (ugd->b_multifile) {
+ return;
+ }
//change to multi selection
ge_dbg("multiple_selection");
if (ugd->nocontents) {
#define DEFAULT_THUMBNAIL "/opt/usr/share/media/.thumb/thumb_default.png"
+static Evas_Object* __ge_create_gengrid(ge_ugdata* ugd);
+
static void _ge_grid_move_stop_cb(void *data, Evas_Object * obj, void *ei)
{
ge_dbg("");
return EINA_FALSE;
}
-void AppGetResource(const char *edj_file_in, char *edj_path_out,
- int edj_path_max)
-{
- char *res_path = app_get_resource_path();
- if (res_path) {
- snprintf(edj_path_out, edj_path_max, "%s%s", res_path,
- edj_file_in);
- free(res_path);
- }
-}
-
Evas_Object *ge_thumb_show_part_icon_image(Evas_Object * obj, char *path,
int item_w, int item_h)
{
}
}
-static Evas_Object *__ge_nocontent_get(void *data, Evas_Object * obj,
- const char *part)
+static Evas_Object *__ge_nocontent_get(void *data)
{
ge_ugdata *ugd = (ge_ugdata *) data;
return layout;
}
-static char *__ge_gengrid_text_get_cb(void *data, Evas_Object * obj,
- const char *part)
+Evas_Object *
+_ge_gengrid_content_get(void *data, Evas_Object *obj, const char *part)
{
- return strdup(GE_STR_GALLERY);
+ if (!strcmp(part, "elm.swallow.icon"))
+ {
+ Evas_Object *image = elm_icon_add(obj);
+ elm_image_file_set(image, GE_ICON_GALLERY, NULL);
+ evas_object_size_hint_aspect_set(image,
+ EVAS_ASPECT_CONTROL_VERTICAL,
+ 1, 1);
+ return image;
+ }
+ return NULL;
}
static void
gitem->checked = false;
}
}
-
+ _ge_free_sel_info(app_data);
app_data->selected_elist = eina_list_free(app_data->selected_elist);
elm_naviframe_item_pop(app_data->naviframe);
}
}
}
- elm_gengrid_clear(ugd->thumbs_d->gengrid);
+ Evas_Object* gengrid = __ge_create_gengrid(ugd);
+
if (ugd->thumbs_d->medias_cnt > 0) {
+
if (ugd->nocontents) {
+ elm_object_part_content_unset(ugd->albums_view, "contents");
evas_object_del(ugd->nocontents);
ugd->nocontents = NULL;
}
- elm_gengrid_item_size_set(ugd->thumbs_d->gengrid, size, size);
- elm_gengrid_item_append(ugd->thumbs_d->gengrid,
+ elm_gengrid_item_append(gengrid,
ugd->thumbs_d->gic_first,
NULL, __ge_launch_ug_gallery, ugd);
+ elm_gengrid_item_size_set(gengrid, size, size);
for (i = 0; i < ugd->thumbs_d->medias_cnt; i++) {
gitem = eina_list_nth(ugd->thumbs_d->medias_elist, i);
gitem->ugd = ugd;
gitem->elm_item =
- elm_gengrid_item_append(ugd->thumbs_d->gengrid,
+ elm_gengrid_item_append(gengrid,
ugd->thumbs_d->gic, gitem,
__ge_gengrid_item_sel_cb, gitem);
item_cnt++;
gitem->sequence = item_cnt + 1;
}
+ elm_object_part_content_set(ugd->albums_view, "contents", gengrid);
} else {
- double scale = elm_config_scale_get();
- if (ugd->attach_panel_display_mode == ATTACH_PANEL_FULL_MODE) {
- if ((scale - 1.8) < 0.0001) {
- elm_gengrid_item_size_set(ugd->thumbs_d->gengrid, win_w,
- FULL_MODE_PORTRAIT_HEIGHT_WVGA);
- } else {
- elm_gengrid_item_size_set(ugd->thumbs_d->gengrid, win_w,
- FULL_MODE_PORTRAIT_HEIGHT);
- }
- } else {
- if ((scale - 1.8) < 0.0001) {
- elm_gengrid_item_size_set(ugd->thumbs_d->gengrid, win_w,
- HALF_MODE_PORTRAIT_HEIGHT_WVGA);
- } else {
- elm_gengrid_item_size_set(ugd->thumbs_d->gengrid, win_w,
- HALF_MODE_PORTRAIT_HEIGHT);
- }
- }
-
- ugd->nocontents = _ge_nocontents_create(ugd);
- elm_gengrid_item_append(ugd->thumbs_d->gengrid,
- ugd->thumbs_d->no_content, ugd, NULL, ugd);
+ ugd->nocontents = __ge_nocontent_get(ugd);
+ elm_object_part_content_set(ugd->albums_view, "contents", ugd->nocontents);
}
Evas_Object *btn = NULL;
char *text = g_strdup_printf(pd_selected, ugd->thumbs_d->tot_selected);
elm_object_item_text_set(ugd->nf_it, text);
GE_FREEIF(text);
-
return 0;
}
}
}
+static Evas_Object* __ge_create_gengrid(ge_ugdata* ugd) {
+ Evas_Object* gengrid;
+ char edj_path[PATH_MAX] = { 0 };
+ gengrid = elm_gengrid_add(ugd->albums_view);
+ ugd->thumbs_d->gengrid = gengrid;
+ _ge_ui_reset_scroller_pos(gengrid);
+ elm_gengrid_align_set(gengrid, 0.0, 0.0);
+ elm_gengrid_horizontal_set(gengrid, EINA_FALSE);
+ elm_scroller_bounce_set(gengrid, EINA_FALSE, EINA_TRUE);
+ elm_scroller_policy_set(gengrid, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
+ evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ if ((ugd->attach_panel_display_mode != ATTACH_PANEL_FULL_MODE)) {
+ elm_scroller_movement_block_set(gengrid,
+ ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL);
+ }
+ evas_object_smart_callback_add(gengrid, "scroll,anim,stop",
+ _ge_grid_move_stop_cb, ugd);
+ evas_object_smart_callback_add(gengrid, "scroll,drag,stop",
+ _ge_grid_move_stop_cb, ugd);
+ evas_object_smart_callback_add(gengrid, "realized", __ge_grid_realized,
+ ugd);
+ evas_object_smart_callback_add(gengrid, "unrealized", __ge_grid_unrealized,
+ ugd);
+ ugd->thumbs_d->image_layout_list = NULL;
+ ugd->thumbs_d->check_list = NULL;
+ return gengrid;
+}
int ge_create_gengrid(ge_ugdata * ugd)
{
eina_list_count(ugd->thumbs_d->medias_elist);
ge_dbg("Grid view all medias count: %d", ugd->thumbs_d->medias_cnt);
- Evas_Object *gengrid;
- char edj_path[PATH_MAX] = { 0, };
-
-
- AppGetResource(GE_EDJ_FILE, edj_path, (int) PATH_MAX);
-
- gengrid = elm_gengrid_add(ugd->albums_view);
- ugd->thumbs_d->gengrid = gengrid;
- elm_theme_extension_add(NULL, edj_path);
-
int win_x = 0;
int win_y = 0;
int win_w = 0;
elm_win_screen_size_get(ugd->win, &win_x, &win_y, &win_w, &win_h);
int size = (win_w / 4);
-
- _ge_ui_reset_scroller_pos(gengrid);
- elm_gengrid_align_set(gengrid, 0.0, 0.0);
-#ifdef _USE_SCROL_HORIZONRAL
- /* horizontal scrolling */
- elm_gengrid_horizontal_set(gengrid, EINA_TRUE);
- elm_scroller_bounce_set(gengrid, EINA_TRUE, EINA_FALSE);
-#else
- elm_gengrid_horizontal_set(gengrid, EINA_FALSE);
- elm_scroller_bounce_set(gengrid, EINA_FALSE, EINA_TRUE);
-#endif
- elm_scroller_policy_set(gengrid, ELM_SCROLLER_POLICY_OFF,
- ELM_SCROLLER_POLICY_AUTO);
- evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
-
- if ((ugd->attach_panel_display_mode != ATTACH_PANEL_FULL_MODE)) {
- elm_scroller_movement_block_set(gengrid,
- ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL);
- }
-
- evas_object_smart_callback_add(gengrid, "scroll,anim,stop",
- _ge_grid_move_stop_cb, ugd);
- evas_object_smart_callback_add(gengrid, "scroll,drag,stop",
- _ge_grid_move_stop_cb, ugd);
- evas_object_smart_callback_add(gengrid, "realized", __ge_grid_realized,
- ugd);
- evas_object_smart_callback_add(gengrid, "unrealized",
- __ge_grid_unrealized, ugd);
-
+ Evas_Object* gengrid = __ge_create_gengrid(ugd);
ugd->thumbs_d->gic = elm_gengrid_item_class_new();
if (ugd->thumbs_d->gic) {
ugd->thumbs_d->gic_first = elm_gengrid_item_class_new();
if (ugd->thumbs_d->gic_first) {
- ugd->thumbs_d->gic_first->item_style = "gengrid_first_item";
- ugd->thumbs_d->gic_first->func.text_get = __ge_gengrid_text_get_cb;
- ugd->thumbs_d->gic_first->func.content_get = NULL;
+ ugd->thumbs_d->gic_first->item_style = "thumb_ge";
+ ugd->thumbs_d->gic_first->func.text_get = NULL;
+ ugd->thumbs_d->gic_first->func.content_get = _ge_gengrid_content_get;
ugd->thumbs_d->gic_first->func.state_get = NULL;
ugd->thumbs_d->gic_first->func.del = NULL;
}
- ugd->thumbs_d->no_content = elm_gengrid_item_class_new();
-
- if (ugd->thumbs_d->no_content) {
- ugd->thumbs_d->no_content->item_style = "no_content";
- ugd->thumbs_d->no_content->func.text_get = NULL;
- ugd->thumbs_d->no_content->func.content_get = __ge_nocontent_get;
- ugd->thumbs_d->no_content->func.state_get = NULL;
- ugd->thumbs_d->no_content->func.del = NULL;
- }
-
if (ugd->thumbs_d->medias_cnt > 0) {
elm_gengrid_item_size_set(gengrid, size, size);
elm_gengrid_item_append(gengrid,
item_cnt++;
gitem->sequence = item_cnt + 1;
}
- } else {
- ugd->nocontents = _ge_nocontents_create(ugd);
- double scale = elm_config_scale_get();
- if ((scale - 1.8) < 0.0001) {
- elm_gengrid_item_size_set(gengrid, win_w,
- HALF_MODE_PORTRAIT_HEIGHT_WVGA);
- } else {
- elm_gengrid_item_size_set(gengrid, win_w,
- HALF_MODE_PORTRAIT_HEIGHT);
- }
- elm_gengrid_item_append(gengrid,
- ugd->thumbs_d->no_content, ugd, NULL, ugd);
+ evas_object_show(gengrid);
+ elm_object_part_content_set(ugd->albums_view, "contents", gengrid);
+ } else {
+ ugd->nocontents = __ge_nocontent_get(ugd);
+ elm_object_part_content_set(ugd->albums_view, "contents", ugd->nocontents);
}
- evas_object_show(gengrid);
-
- elm_object_part_content_set(ugd->albums_view, "contents", gengrid);
-
char *pd_selected = GE_STR_PD_SELECTED;
char *text = g_strdup_printf(pd_selected, ugd->thumbs_d->tot_selected);
ugd->nf_it =