}
}
+void gl_widget_update_image_selection_data(_widget_data *widget_data)
+{
+ DbgPrint("images count : %d and selected images count : %d" , widget_data->images_count, widget_data->selected_count);
+ int i;
+ for (i = widget_data->selected_count - 1; i >=0 ; i--) {
+
+ if (!gl_widget_file_exists(widget_data->selected_images[i])) {
+ strncpy(widget_data->selected_images[i], widget_data->selected_images[widget_data->selected_count - 1],
+ strlen(widget_data->selected_images[widget_data->selected_count - 1]));
+ free(widget_data->selected_images[widget_data->selected_count - 1]);
+ widget_data->selected_count--;
+ }
+ }
+ DbgPrint("images count : %d and selected images count : %d" , widget_data->images_count, widget_data->selected_count);
+}
+
static Eina_Bool gl_widget_animator_cb(void *data)
{
dlog_print(DLOG_ERROR, LOG_TAG, "ENTRY gl_widget_animator_cb");
Evas_Object *content = elm_object_part_content_get(layout, buffer);
elm_object_part_content_unset(layout, buffer);
evas_object_hide(content);
-
if (swallows_in_loops[loop_count % NUMBER_OF_ITERATION][i] == 1) {
widget_data->images_count = widget_data->images_count % widget_data->selected_count;
Evas_Object *image_object = elm_image_add(layout);
return EINA_TRUE;
}
+void gl_widget_remove_sel_info() {
+ char* data_path = app_get_data_path();
+ if (data_path) {
+ char dbPath[1024] = { 0 };
+ snprintf(dbPath, 1024, "%s%s", data_path, "selectedimages.eet");
+ remove(dbPath);
+ free(data_path);
+ }
+}
+
static Eina_Bool gl_widget_animator_for_one(void *data)
{
_widget_data *widget_data = (_widget_data *)data;
return EINA_FALSE;
}
- if (!gl_widget_file_exists(widget_data->selected_images[0])) {
-
- free(widget_data->selected_images[widget_data->selected_count - 1]);
- widget_data->selected_count--;
+ if (widget_data->selected_count == 0 || !gl_widget_file_exists(widget_data->selected_images[0])) {
+ ErrPrint("Showing no content layout");
+ if (widget_data->selected_count != 0) {
+ free(widget_data->selected_images[widget_data->selected_count - 1]);
+ widget_data->selected_count--;
+ }
Evas_Object *btn = elm_object_part_content_unset(
widget_data->layout,
"Edit_button");
"IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES");
elm_object_signal_emit(layout, "show", "elm");
widget_data->is_ug_launched = false;
+ if (widget_data->timer) {
+ ecore_timer_del(widget_data->timer);
+ widget_data->timer= NULL;
+ }
+ gl_widget_remove_sel_info();
elm_object_signal_callback_add(widget_data->layout, "mouse,clicked,1", "bg", gl_widget_on_no_image_cb, widget_data);
}
const char *emission, const char *source)
{
_widget_data *widget_data = (_widget_data *)data;
+ DbgPrint("gl_widget_on_no_image_cb");
if (!widget_data) {
ErrPrint("Invalid userdata!!");
return;
ErrPrint("Invalid layout!!");
return;
}
-
+ DbgPrint("Launching ug-gallery application");
gl_widget_launch_gallery_ug(widget_data);
}
widget_data->layout = layout;
if (!gl_widget_load_preselected_images(widget_data)) {
+ DbgPrint("Adding no image layout");
elm_object_domain_translatable_part_text_set(layout, "TitleText", "gallery",
"IDS_GALLERY_OPT_GALLERY_ABB");
elm_object_domain_translatable_part_text_set(layout, "HelpText", "gallery",
"IDS_HS_NPBODY_TAP_HERE_TO_ADD_IMAGES");
elm_object_signal_callback_add(layout, "mouse,clicked,1", "bg", gl_widget_on_no_image_cb, widget_data);
} else {
+ DbgPrint("Adding images");
if (widget_data->selected_count >= IMAGES_THRESHOLD) {
gl_widget_animator_cb(widget_data);
} else {
return 0;
}
+
+void gl_widget_add_timer(_widget_data *widget_data)
+{
+ DbgPrint("Adding timer -> selected image count: %d", widget_data->selected_count);
+ widget_data->timer = ecore_timer_loop_add(TIMER_INTERVAL,
+ gl_widget_timer_cb, widget_data);
+ if (widget_data->selected_count >= IMAGES_THRESHOLD) {
+ gl_widget_animator_cb(widget_data);
+ } else if (widget_data->selected_count >= 2) {
+ gl_widget_animator_cb_for_less_than_five_images(widget_data);
+ } else {
+ gl_widget_animator_for_one(widget_data);
+ }
+ DbgPrint("Adding timer over");
+}
/* End of a file */
elm_config_accel_preference_set("3d");
struct widget_data *widget_data = NULL;
-
- widget_data = calloc(1, sizeof(*widget_data));
+ widget_data = (struct widget_data *)getWidgetData(context);
+ if (!widget_data) {
+ DbgPrint("creating new widget data");
+ widget_data = calloc(1, sizeof(*widget_data));
+ } else {
+ DbgPrint("got widget data from context");
+ }
if (!widget_data) {
DbgPrint("failed to create instance");
return WIDGET_ERROR_OUT_OF_MEMORY;
widget_data->timer= NULL;
}
if (widget_data->selected_count) {
- dlog_print(DLOG_ERROR, LOG_TAG, "Adding timer");
- widget_data->timer = ecore_timer_loop_add(TIMER_INTERVAL,
- gl_widget_timer_cb, widget_data);
+ gl_widget_update_image_selection_data(widget_data);
+ gl_widget_add_timer(widget_data);
}
return WIDGET_ERROR_NONE;
}