int __ge_split_view_append_albums(ge_ugdata * ugd, Evas_Object * parent,
bool is_update);
int __ge_albums_del_cbs(Evas_Object * view);
+Eina_Bool __ge_albums_sel_idler_cb(void *data);
+int __ge_albums_open_album(ge_cluster * album);
#endif /* _GE_ALBUMS_H_ */
/* gallery-efl-gengrid-item-thumbview.edc */
#define GE_EDC_IMAGE_BUTTON_VIDEO_PLAY "T01_video_play.png"
+#define GALLERY_EDC_ALBUM_BOX "00_album_box_bg.png"
/* gallery-efl-check.edc */
#define GE_EDC_IMAGE_CHECK_ALBUM_BG "T01_album_edit_check_bg.png"
group {
name: "gallery_efl/gridview";
+ images {
+ image: GALLERY_EDC_ALBUM_BOX COMP;
+ }
parts {
part {
name: "background";
mouse_events: 1;
description {
state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to: split.view; }
+ rel1 { relative: 0.0 0.0; to: split.view; offset: 0 -7;}
rel2 { relative: 1.0 1.0; to: split.view; }
- color: 230 230 230 255;
+ color: 255 255 255 0;
+ }
+ }
+ part {
+ name: "split.view.bg.cover";
+ type: IMAGE;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ image.normal: GALLERY_EDC_ALBUM_BOX;
+ rel1 { relative: 0.0 0.0; to: split.view.bg.color; }
+ rel2 { relative: 1.0 1.0; to: split.view.bg.color; }
}
}
part {
min: 0 0;
max: 0 0;
align: 0 0;
- rel1 { relative: 0.0 0.0; }
+ rel1 { relative: 0.03 0.03; }
rel2 { relative: 1.0 1.0; }
color : 0 255 0 255;
}
group { name: "ceter_algined_text_layout_split_view";
styles {
style { name: "my_textblock_name_style_split_view";
- base: "font=Sans:style=Regular font_size=12 color=#000000 ellipsis=1.0";
+ base: "font=Sans:style=Regular font_size=8 color=#000000 ellipsis=1.0";
}
style { name: "my_textblock_count_style_split_view";
- base: "font=Sans:style=Regular font_size=12 color=#000000";
+ base: "font=Sans:style=Regular font_size=8 color=#000000";
}
}
script {
* @param album
* @return
*/
-static int __ge_albums_open_album(ge_cluster * album)
+int __ge_albums_open_album(ge_cluster * album)
{
GE_CHECK_VAL(album, -1);
GE_CHECK_VAL(album->cluster, -1);
* @param data
* @return
*/
-static Eina_Bool __ge_albums_sel_idler_cb(void *data)
+Eina_Bool __ge_albums_sel_idler_cb(void *data)
{
ge_dbg("Select album ---");
GE_CHECK_FALSE(data);
__ge_main_back_cb(app_data, NULL);
}
}
+ ge_ugdata *ugd = (ge_ugdata *) data;
+
+ void *pop_cb = evas_object_data_get(ugd->naviframe,
+ GE_NAVIFRAME_POP_CB_KEY);
+ if (pop_cb) {
+ Eina_Bool(*_pop_cb) (void *ugd);
+ _pop_cb = pop_cb;
+
+ if (_pop_cb(ugd)) {
+ /* Just pop edit view, dont destroy me */
+ return;
+ }
+ }
+
+ app_control_add_extra_data(ugd->service, GE_FILE_SELECT_RETURN_COUNT,
+ "0");
+ app_control_add_extra_data(ugd->service, GE_FILE_SELECT_RETURN_PATH,
+ NULL);
+ app_control_add_extra_data(ugd->service, APP_CONTROL_DATA_SELECTED,
+ NULL);
+
+ bool reply_requested;
+ app_control_is_reply_requested(ugd->service, &reply_requested);
+ if (reply_requested) {
+ ge_sdbg("send reply to caller");
+ app_control_h reply = NULL;
+ app_control_create(&reply);
+ app_control_reply_to_launch_request(reply, ugd->service,
+ APP_CONTROL_RESULT_FAILED);
+ app_control_destroy(reply);
+ }
+ ge_dbg("Destroying handle");
+ if (ugd->service) {
+ app_control_destroy(ugd->service);
+ ugd->service = NULL;
+ }
+ ui_app_exit();
}
/**
_ge_albums_update_view(app_data);
elm_naviframe_item_pop(app_data->naviframe);
+ ge_ugdata *ugd = (ge_ugdata *) data;
+
+ void *pop_cb = evas_object_data_get(ugd->naviframe,
+ GE_NAVIFRAME_POP_CB_KEY);
+ if (pop_cb) {
+ Eina_Bool(*_pop_cb) (void *ugd);
+ _pop_cb = pop_cb;
+
+ if (_pop_cb(ugd)) {
+ /* Just pop edit view, dont destroy me */
+ return;
+ }
+ }
+
+ app_control_add_extra_data(ugd->service, GE_FILE_SELECT_RETURN_COUNT,
+ "0");
+ app_control_add_extra_data(ugd->service, GE_FILE_SELECT_RETURN_PATH,
+ NULL);
+ app_control_add_extra_data(ugd->service, APP_CONTROL_DATA_SELECTED,
+ NULL);
+
+ bool reply_requested;
+ app_control_is_reply_requested(ugd->service, &reply_requested);
+ if (reply_requested) {
+ ge_sdbg("send reply to caller");
+ app_control_h reply = NULL;
+ app_control_create(&reply);
+ app_control_reply_to_launch_request(reply, ugd->service,
+ APP_CONTROL_RESULT_FAILED);
+ app_control_destroy(reply);
+ }
+ ge_dbg("Destroying handle");
+ if (ugd->service) {
+ app_control_destroy(ugd->service);
+ ugd->service = NULL;
+ }
+ ui_app_exit();
}
/**
(Edje_Message_Int *) malloc(sizeof(Edje_Message_Int) +
sizeof(int));
GE_CHECK_VAL(msg, -1);
- msg->val = ((w < h) ? (w / 3) : (h / 3));
+ msg->val = ((w < h) ? (w / 4) : (h / 4));
edje_object_message_send(elm_layout_edje_get(thumbs_d->layout),
EDJE_MESSAGE_INT, 1, msg);
free(msg);
evas_object_smart_callback_add(sel_all_btn, "clicked",
__ge_grid_selall_cb, ugd);
if (w < h) {
- elm_gengrid_item_size_set(thumbs_d->split_view, (w / 3) - 40,
- (w / 3) - 20);
+ elm_gengrid_item_size_set(thumbs_d->split_view, (w / 5) - 10,
+ (w / 5) + 20);
} else {
- elm_gengrid_item_size_set(thumbs_d->split_view, (h / 3) - 20,
- (h / 3) - 40);
+ elm_gengrid_item_size_set(thumbs_d->split_view, (h / 5) - 10,
+ (h / 5) + 20);
}
elm_object_part_content_set(thumbs_d->layout, "contents",
thumbs_d->view);
#include "ge-albums.h"
#include "ge-timeline.h"
#include "app_manager.h"
+#include "ge-gridview.h"
/**
*
/* Create layout of albums view */
if (_ge_launch_in_time_view(ugd)) {
- ugd->time_view_ly = __ge_time_create_ly(ugd, ugd->naviframe);
- GE_CHECK_VAL(ugd->time_view_ly, -1);
+ _ge_data_get_clusters(ugd, GE_ALBUM_DATA_LOCAL);
+ ge_cluster *album_item = eina_list_nth(ugd->cluster_list->clist, 0);
+ if(album_item == NULL)
+ {
+ ugd->albums_view_ly = __ge_main_create_ly(ugd, ugd->naviframe);
+ GE_CHECK_VAL(ugd->albums_view_ly, -1);
+ _ge_albums_create_view(ugd);
+ return 0;
+ }
+ ge_ugdata *ugd = album_item->ugd;
+ Evas_Object *obj = ugd->albums_view;
+
+ ugd->album_item = album_item;
+ ge_dbg("");
+ if (ugd->sel_album_idler) {
+ ge_dbg("Has selected an album");
+ return 0;
+ }
+
+ Ecore_Idler *idl = NULL;
+ idl = ecore_idler_add(__ge_albums_sel_idler_cb, album_item);
+ ugd->sel_album_idler = idl;
+ /* Save scroller position before clearing gengrid */
+ _ge_ui_save_scroller_pos(obj);
- _ge_timeline_create_view(ugd, ugd->time_view_ly);
} else {
- ugd->albums_view_ly = __ge_main_create_ly(ugd, ugd->naviframe);
- GE_CHECK_VAL(ugd->albums_view_ly, -1);
- _ge_albums_create_view(ugd);
+ _ge_data_get_clusters(ugd, GE_ALBUM_DATA_LOCAL);
+ ge_cluster *album_item = eina_list_nth(ugd->cluster_list->clist, 0);
+ if(album_item == NULL)
+ {
+ ugd->albums_view_ly = __ge_main_create_ly(ugd, ugd->naviframe);
+ GE_CHECK_VAL(ugd->albums_view_ly, -1);
+ _ge_albums_create_view(ugd);
+ return 0;
+ }
+ ge_ugdata *ugd = album_item->ugd;
+ Evas_Object *obj = ugd->albums_view;
+
+ ugd->album_item = album_item;
+ ge_dbg("");
+ if (ugd->sel_album_idler) {
+ ge_dbg("Has selected an album");
+ return 0;
+ }
+
+ Ecore_Idler *idl = NULL;
+ idl = ecore_idler_add(__ge_albums_sel_idler_cb, album_item);
+ ugd->sel_album_idler = idl;
+ /* Save scroller position before clearing gengrid */
+ _ge_ui_save_scroller_pos(obj);
}
return 0;
#define GE_GRID_3_PER_ROW 3
#define GE_GRID_ITEM_S_CNT 5
+#define GE_GRID_5_PER_ROW_FACTOR 6.2
/**
*
elm_gengrid_align_get(view, &align_x, &align_y);
ge_dbg("rotate_mode: %d, count: %d", rotate_mode, count);
- _w = (int) (win_w / GE_GRID_3_PER_ROW);
+ _w = (int) (win_w / GE_GRID_5_PER_ROW_FACTOR);
_h = (int) (GE_GRID_ITEM_SIZE_H_ZOOM_02 * scale);
_w_l = (int) (win_h / GE_GRID_ITEM_S_CNT);
_h_l = (int) (356 * scale);
/*if (count <= align_c)
elm_gengrid_align_set(view, 0.5, 0.5);
else */
- elm_gengrid_align_set(view, 0.0, 0.0);
+ // Gengrid alignment according to item count
+ if (count == 1) {
+ elm_gengrid_align_set(view, 0.02, 0.0);
+ } else if (count == 2) {
+ elm_gengrid_align_set(view, 0.025, 0.0);
+ } else if (count == 3) {
+ elm_gengrid_align_set(view, 0.04, 0.0);
+ } else if (count == 4) {
+ elm_gengrid_align_set(view, 0.071, 0.0);
+ } else {
+ elm_gengrid_align_set(view, 0.55, 0.0);
+ }
if (size_w && size_h)
ge_dbg("P: %dx%d, size_w: %d,size_h: %d", _w, _h, *size_w,
*size_h);
/* Indicator show, minus 20 pixels */
#define GE_TILE_2_PER_ROW 2
#define GE_TILE_3_PER_ROW 3
+#define GE_TILE_5_PER_ROW 5
#define GE_TILE_ITEM_CNT 6
#define GE_TILE_ITEM_L_CNT 3
/* Size of album icon */
ge_dbg("rotate_mode: %d, b_update: %d", rotate_mode, b_update);
ge_dbg("scale: %f", scale);
- w = (int) (win_w / GE_TILE_2_PER_ROW);
+ w = (int) (win_w / GE_TILE_5_PER_ROW);
h = (int) (300 * scale);
w_l = (int) (win_h / GE_TILE_3_PER_ROW);
h_l = w_l;