bool _gl_db_update_lock_once(void *data, bool status);
bool _gl_db_update_lock_always(void *data, bool status);
bool _gl_db_update_set_count(void *data, int count);
-int _gl_db_update_get_info(void *data,
- media_content_db_update_item_type_e *update_item,
- media_content_db_update_type_e *update_type,
- GList **uuids);
bool _gl_db_update_reg_cb(void *data);
bool _gl_db_update_init(void *data);
bool _gl_db_update_finalize(void *data);
typedef enum
{
GL_UG_IV,
- /*Invoke imageviewer to slideshow on local album */
- GL_UG_IV_SLIDESHOW,
- /*Invoke imageviewer to slideshow All items */
- GL_UG_IV_SLIDESHOW_ALL,
GL_UG_IV_CNT,
} gl_ext_iv_type;
-int gl_ext_load_ug(void *data, gl_ext_ug_type type);
int gl_ext_load_iv_ug(void *data, gl_item *item, gl_ext_iv_type type);
int gl_ext_load_iv_ug_select_mode(void *data, gl_media_s *item, gl_ext_iv_type type);
int gl_ext_load_iv_time_ug_select_mode(void *data, gl_media_s *item, gl_ext_iv_type type, int sort_type);
int _gl_fs_update_file_mtime(const char *path);
int _gl_fs_get_file_stat(const char *filename, gl_node_info_s **node);
unsigned long long _gl_fs_get_folder_size(char *path);
-int _gl_fs_rm_folder(char *path, long long cut_size, long long max_size,
- unsigned int expired_time);
-bool _gl_fs_is_low_memory(unsigned long long total_size);
unsigned long long gl_fs_get_free_space(int state);
-int _gl_fs_get_file_ext(const char *file_path, char *file_ext, int max_len);
bool _gl_fs_get_path_without_ext(const char *file_path, char *file_ext,
char *new_path);
Eina_Bool _gl_fs_move(void *data, const char *src, const char *dst);
char **new_name);
bool _gl_fs_validate_name(const char *new_name);
bool _gl_fs_validate_character(const char name_char);
-int _gl_fs_get_default_folder(char *path);
bool _gl_fs_mkdir(const char *path);
#ifdef __cplusplus
GL_UI_XPT_DONE = (0x1 << 3),
};
-Evas_Object *_gl_ui_create_gridview_ly(void *data, Evas_Object *parent);
Evas_Object *gl_ui_load_edj(Evas_Object * parent, const char *file, const char *group);
-int _gl_ui_rm_selall_btn(Elm_Object_Item *nf_it);
-int _gl_ui_add_selall_btn(Evas_Object *naviframe, Elm_Object_Item *nf_it,
- Evas_Smart_Cb cb_func, void *data);
int _gl_ui_clear_btns(void *data);
-int _gl_ui_hide_back_button(Elm_Object_Item *nf_it);
-gl_icon_type_e _gl_ui_elm_bg_file_set(Evas_Object *bg, gl_item *git);
-int _gl_ui_set_content(Evas_Object *layout, const char *part,
- Evas_Object *new_content);
-int _gl_ui_add_conform_cbs(void *data);
-int _gl_ui_del_conform_cbs(Evas_Object *naviframe);
int _gl_ui_set_conform_overlap(Evas_Object *naviframe);
int _gl_ui_disable_btn(Evas_Object *btn);
int _gl_ui_enable_btn(Evas_Object *btn);
int _gl_ui_disable_menu(Elm_Object_Item *nf_it, bool b_disabled);
Evas_Object *_gl_ui_get_btn(void *data, Elm_Object_Item *nf_it,
const char *part);
-int _gl_ui_update_realized_list_ck(Evas_Object *view, const char *part,
- Eina_Bool state);
int _gl_ui_update_realized_grid_ck(Evas_Object *view, const char *part1,
const char *part2, Eina_Bool state);
int _gl_ui_set_checkbox_state(Elm_Object_Item *it, const char *part,
Eina_Bool state);
-int _gl_ui_update_realized_list_field(Evas_Object *view, const char *part);
-int _gl_ui_update_list_field(Elm_Object_Item *it, const char *part);
int _gl_ui_reset_scroller_pos(Evas_Object *obj);
int _gl_ui_del_scroller_pos(Evas_Object *obj);
int _gl_ui_save_scroller_pos(Evas_Object *obj);
int _gl_ui_restore_scroller_pos(Evas_Object *obj);
int _gl_ui_rotate_view(void *data, int view_mode);
int _gl_ui_set_toolbar_state(void *data, bool b_hide);
-bool _gl_ui_hide_keypad(void *data);
-int _gl_ui_del_nf_items(Evas_Object *nf, Elm_Object_Item *to_it);
int _gl_ui_set_translate_str(Evas_Object *obj, const char *str);
int _gl_ui_set_translatable_item(Elm_Object_Item *nf_it, const char *str);
int _gl_ui_set_translatable_item_part(Elm_Object_Item *nf_it, const char *part,
int _gl_update_albums_list(void *data);
void gl_set_mmc_notifd(int fd);
Eina_Bool gl_update_view(void *data, int mode);
-int gl_get_selected_files_path_str(void *data, gchar sep_c, char **path_str,
- int *sel_cnt);
bool gl_make_new_album(const char *name);
bool gl_check_gallery_empty(void* data);
-bool gl_is_image_valid(void *data, char *filepath);
int gl_get_entry_text(Evas_Object * entry, char *entry_text, int len_max);
int gl_set_entry_text(Evas_Object *entry, char *entry_text);
-int _gl_get_valid_album_name(void *data, char* album_name, bool b_new,
- bool b_enter);
int _gl_validate_album_name(void *data, char* album_name);
-int _gl_validate_input_character(void *data, char* album_name);
char* _gl_get_i18n_album_name(gl_album_s *cluster);
int gl_del_invalid_widgets(void *data, int invalid_m);
int gl_pop_to_ctrlbar_ly(void *data);
int gl_play_vibration(void *data);
-time_t gl_util_get_current_systemtime(void);
char *_gl_get_duration_string(unsigned int v_dur);
-gl_icon_type_e _gl_get_icon_type(gl_item *git);
char *_gl_str(char *str_id);
bool _gl_is_str_id(const char *str_id);
double _gl_get_win_factor(Evas_Object *win, int *width, int *height);
profile = mobile-3.0
# C Sources
-USER_SRCS = src/util/gl-fs.c src/features/gl-albums.c src/data/gl-data-util.c src/util/gl-ext-ug-load.c src/features/gl-thumbs-sel.c src/data/gl-local-data.c src/features/gl-entry.c src/widget/gl-gesture.c src/widget/gl-tile.c src/widget/gl-rotate-bg.c src/util/gl-lang.c src/widget/gl-ctxpopup.c src/util/gl-db-update.c src/features/gl-main.c src/util/gl-thread-util.c src/widget/gl-editfield.c src/widget/gl-controlbar.c src/widget/gl-notify.c src/gallery.c src/util/gl-file-util.c src/util/gl-debug.c src/2dview/gl-timeline.c src/widget/gl-button.c src/util/gl-ta.c src/2dview/gl-albums-new.c src/2dview/gl-albums-edit.c src/widget/gl-nocontents.c src/data/gl-data-type.c src/widget/gl-progressbar.c src/widget/gl-thumb.c src/widget/gl-popup.c src/features/gl-pinchzoom.c src/features/gl-albums-sel.c src/data/gl-data.c src/features/gl-thumbs-edit.c src/util/gl-ui-util.c src/util/gl-util.c src/features/gl-thumbs.c
+USER_SRCS = src/util/gl-fs.c src/features/gl-albums.c src/data/gl-data-util.c src/util/gl-ext-ug-load.c src/features/gl-thumbs-sel.c src/data/gl-local-data.c src/features/gl-entry.c src/widget/gl-gesture.c src/widget/gl-tile.c src/widget/gl-rotate-bg.c src/util/gl-lang.c src/widget/gl-ctxpopup.c src/util/gl-db-update.c src/features/gl-main.c src/util/gl-thread-util.c src/widget/gl-editfield.c src/widget/gl-controlbar.c src/widget/gl-notify.c src/gallery.c src/util/gl-file-util.c src/util/gl-debug.c src/2dview/gl-timeline.c src/widget/gl-button.c src/2dview/gl-albums-new.c src/2dview/gl-albums-edit.c src/widget/gl-nocontents.c src/data/gl-data-type.c src/widget/gl-progressbar.c src/widget/gl-thumb.c src/widget/gl-popup.c src/features/gl-pinchzoom.c src/features/gl-albums-sel.c src/data/gl-data.c src/features/gl-thumbs-edit.c src/util/gl-ui-util.c src/util/gl-util.c src/features/gl-thumbs.c
USER_SRCS_ABS =
# EDC Sources
elm_object_part_content_set(parent, "button1", left_btn);
elm_object_part_content_set(parent, "button2", right_btn);
- /* Add callbacks to show/hide title toolbar */
- /* _gl_ui_add_conform_cbs(data); */
- /* hide title toolbar */
- /* _gl_editfield_change_navi_title(data, ad->maininfo.rotate_mode); */
return 0;
}
return true;
}
-int _gl_db_update_get_info(void *data,
- media_content_db_update_item_type_e *update_item,
- media_content_db_update_type_e *update_type,
- GList **uuids)
-{
- GL_CHECK_VAL(data, -1);
- gl_appdata *ad = (gl_appdata *)data;
- GL_CHECK_VAL(ad->db_noti_d, -1);
-
- if (update_item) {
- *update_item = ad->db_noti_d->update_item;
- }
- if (update_type) {
- *update_type = ad->db_noti_d->update_type;
- }
- if (ad->db_noti_d->uuids && uuids) {
- *uuids = ad->db_noti_d->uuids;
- ad->db_noti_d->uuids = NULL;
- }
-
- return 0;
-}
-
/*Add media-content update callback*/
bool _gl_db_update_reg_cb(void *data)
{
#include "gl-notify.h"
#include "gl-timeline.h"
-#define GL_EXT_STR_BUNDLE_LEN 48
#define GL_UG_PKG_IV "org.tizen.image-viewer"
-#define GL_UG_PKG_GALLERY_SETTING "setting-gallery-efl"
#define GL_ARGV_IV_VIEW_MODE "View Mode"
#define GL_ARGV_IV_VIEW_GALLERY "GALLERY"
-#define GL_ARGV_IV_VIEW_SLIDESHOW "SLIDESHOW"
#define GL_ARGV_IV_PATH "Path"
#define GL_ARGV_IV_INDEX "Index"
#define GL_ARGV_IV_VIEW_BY "View By"
#define GL_ARGV_IV_SORT_NAMEDESC "NameDesc"
#define GL_ARGV_IV_SORT_DATE "Date"
#define GL_ARGV_IV_SORT_DATEDESC "DateDesc"
-#define GL_ARGV_IV_FOOTSTEPS "Footsteps"
-#define GL_ARGV_IV_TRUE "TRUE"
#define GL_ARGV_IV_VIEW_BY_FAVORITES "Favorites"
#define GL_ARGC_SELECTED_FILES "Selected index"
GL_CHECK_VAL(data, GL_UG_FAIL);
/* 2.0, Local file */
- if (GL_UG_IV_SLIDESHOW == type ||
- GL_UG_IV_SLIDESHOW_ALL == type)
- app_control_add_extra_data(service, GL_ARGV_IV_VIEW_MODE,
- GL_ARGV_IV_VIEW_SLIDESHOW);
- else
- app_control_add_extra_data(service, GL_ARGV_IV_VIEW_MODE,
- GL_ARGV_IV_VIEW_GALLERY);
+ app_control_add_extra_data(service, GL_ARGV_IV_VIEW_MODE,
+ GL_ARGV_IV_VIEW_GALLERY);
app_control_add_extra_data(service, GL_ARGV_IV_MEDIA_TYPE,
- GL_ARGV_IV_MEDIA_ALL);
+ GL_ARGV_IV_MEDIA_ALL);
gl_dbg("Media type: All");
return GL_UG_SUCCESS;
}
return GL_UG_FAIL;
}
- if (type == GL_UG_IV_SLIDESHOW_ALL) {
- app_control_add_extra_data(service, GL_ARGV_IV_ALBUM_INDEX,
- GL_ALBUM_ALL_ID);
- } else if (cur_album && cur_album->cluster &&
+ if (cur_album && cur_album->cluster &&
cur_album->cluster->uuid) {
gl_sdbg("album id: %s", cur_album->cluster->uuid);
}
__gl_ext_add_sortby(service, ad->uginfo.sort_type);
- if (type == GL_UG_IV_SLIDESHOW_ALL ||
- GL_VIEW_ALBUMS == gl_get_view_mode(data)) {
+ if (GL_VIEW_ALBUMS == gl_get_view_mode(data)) {
app_control_add_extra_data(service, GL_ARGV_IV_INDEX,
GL_ARGV_IV_INDEX_VALUE);
- } else if (type == GL_UG_IV || type == GL_UG_IV_SLIDESHOW) {
+ } else if (type == GL_UG_IV) {
char sequence_str[GL_INTERGER_LEN_MAX] = { 0, };
eina_convert_itoa(item->sequence, sequence_str);
gl_dbg("sequence : %s", sequence_str);
}
ret = app_control_send_launch_request(service, __gl_appcontrol_result_cb, (void *)ad);
- //ad->uginfo.ug = service;
app_control_destroy(service);
if (ret != APP_CONTROL_ERROR_NONE) {
}
}
-
-int gl_ext_load_ug(void *data, gl_ext_ug_type type)
-{
- GL_CHECK_VAL(data, GL_UG_FAIL);
- int ret = GL_UG_FAIL;
- gl_appdata *ad = (gl_appdata *)data;
- GL_CHECK_VAL(ad->maininfo.win, GL_UG_FAIL);
- app_control_h service = NULL;
-
- if (ad->uginfo.ug) {
- gl_dbg("Already exits some UG, Request type(%d)", type);
- return GL_UG_FAIL;
- }
-
- ad->uginfo.ug_type = type;
- ad->uginfo.data = NULL;
-
- app_control_create(&service);
- GL_CHECK_VAL(service, GL_UG_FAIL);
-
- switch (type) {
- case GL_UG_GALLERY_SETTING_SLIDESHOW:
- ad->uginfo.b_start_slideshow = false;
- app_control_add_extra_data(service, "ShowStartBtn", "TRUE");
- ret = app_control_set_app_id(service, GL_UG_PKG_GALLERY_SETTING);
- if (ret != APP_CONTROL_ERROR_NONE) {
- gl_dbgE("service create failed");
- }
- ret = app_control_send_launch_request(service, __gl_appcontrol_result_cb, (void *)ad);
- break;
- case GL_UG_GALLERY_SETTING:
- ret = app_control_set_app_id(service, GL_UG_PKG_GALLERY_SETTING);
- if (ret != APP_CONTROL_ERROR_NONE) {
- gl_dbgE("service create failed");
- }
- ret = app_control_send_launch_request(service, __gl_appcontrol_result_cb, (void *)ad);
- break;
- default:
- gl_dbgE("Wrong UG type!");
- goto EXT_UG_FAILED;
- }
- ad->uginfo.ug = service;
-
- if (ret != APP_CONTROL_ERROR_NONE) {
- gl_dbgE("ug_create failed!");
- _gl_popup_create(data, NULL, GL_STR_ID_OPERATION_FAILED,
- GL_STR_ID_CLOSE, __gl_ext_popup_resp_cb, data,
- NULL, NULL, NULL, NULL, NULL, NULL);
- return GL_UG_FAIL;
- } else {
- gl_dbgW("ug_create success!");
- /*Disable the focus permission of the app layout*/
- /*or else the highlight will fall under the ug layout */
- elm_object_tree_focus_allow_set(ad->maininfo.layout, EINA_FALSE);
- return GL_UG_SUCCESS;
- }
-
-EXT_UG_FAILED:
-
- gl_dbgE("EXT_UG_FAILED!");
- app_control_destroy(service);
- _gl_popup_create(data, NULL, GL_STR_ID_OPERATION_FAILED,
- GL_STR_ID_CLOSE, __gl_ext_popup_resp_cb, data,
- NULL, NULL, NULL, NULL, NULL, NULL);
- return GL_UG_FAIL;
-}
-
return size;
}
-int _gl_fs_rm_folder(char *path, long long cut_size, long long max_size,
- unsigned int expired_time)
-{
- GL_CHECK_VAL(path, -1);
- gl_node_info_s *pnode = NULL;
- Eina_List *dir_list = NULL;
- Eina_List *l = NULL;
- unsigned long long size = 0;
- gl_dbg("Size cut/max[%lld/%lld]", cut_size, max_size);
-
- size = __gl_fs_sort_folders_by_mtime(path, &dir_list);
- GL_CHECK_VAL(dir_list, -1);
-
- char *folder = NULL;
- unsigned long long _cut_size = 0;
- if (size > max_size) {
- _cut_size = size - max_size + cut_size;
- } else if (size + cut_size > max_size) {
- _cut_size = cut_size;
- }
- gl_dbg("Size cut/total[%llu/%llu]", _cut_size, size);
-
- unsigned int current_t = 0;
- struct timeval tv;
- gettimeofday(&tv, NULL);
- current_t = tv.tv_sec + tv.tv_usec / GL_TIME_USEC_PER_SEC;
- gl_dbg("current time[%d], expired time[%d]", current_t, expired_time);
- unsigned long long rm_size = 0;
-
- EINA_LIST_FOREACH(dir_list, l, pnode) {
- if (pnode == NULL || pnode->path == NULL || pnode->name == NULL) {
- continue;
- }
-
- /* Get full path of folder */
- folder = g_strconcat(pnode->path, "/", pnode->name, NULL);
- if (folder == NULL) {
- continue;
- }
-
- gl_sdbg("mtime[%d], path[%s]", pnode->mtime, folder);
- if (pnode->mtime + expired_time < current_t) {
- /* Remove folder */
- gl_dbgW("Remove!");
- gl_file_recursive_rm(folder);
- g_free(folder);
- folder = NULL;
- rm_size += pnode->size;
- continue;
- } else if (_cut_size == 0 || rm_size >= _cut_size) {
- gl_dbgW("Done!");
- break;
- }
-
- /* Remove folder */
- gl_file_recursive_rm(folder);
- g_free(folder);
- folder = NULL;
-
- gl_dbg("size[cut/dir]=%llu/%llu", _cut_size, pnode->size);
- if (pnode->size >= _cut_size) {
- gl_dbgW("Done!");
- break;
- }
-
- pnode = NULL;
- }
- __gl_fs_clear_list(&dir_list);
- return 0;
-}
-
-bool _gl_fs_is_low_memory(unsigned long long total_size)
-{
- unsigned long long free_size = gl_fs_get_free_space(GL_STORE_T_PHONE);
- if (total_size && free_size < total_size) {
- gl_dbgE("Low memory: Free(%llu Byte) < required(%llu Byte)!",
- free_size, total_size);
- return true;
- }
-
- return false;
-}
-
-int _gl_fs_get_file_ext(const char *file_path, char *file_ext, int max_len)
-{
- int i = 0;
-
- for (i = strlen(file_path); i >= 0; i--) {
- if ((file_path[i] == '.') && (i < strlen(file_path))) {
- strncpy(file_ext, &file_path[i + 1], max_len);
- return 0;
- }
-
- /* meet the dir. no ext */
- if (file_path[i] == '/') {
- return -1;
- }
- }
-
- return -1;
-}
-
/*
* return file extension, f.e. jpg; then return new path without ext.
*/
return true;
}
-int _gl_fs_get_default_folder(char *path)
-{
- int len = 0;
- GL_CHECK_VAL(path, -1);
- char *phone_root_path = _gl_get_root_directory_path(STORAGE_TYPE_INTERNAL);
- GL_CHECK_VAL(phone_root_path, -1);
-
- len = snprintf(path, GL_DIR_PATH_LEN_MAX, "%s",
- phone_root_path);
- GL_GFREEIF(phone_root_path);
-
- if (len < 0) {
- gl_dbgE("snprintf returns failure!");
- return -1;
- } else {
- path[len] = '\0';
- len = -1;
- }
-
- char *default_images_path = _gl_get_directory_path(STORAGE_DIRECTORY_IMAGES);
- GL_CHECK_VAL(default_images_path, -1);
- len = g_strlcat(path, default_images_path,
- GL_DIR_PATH_LEN_MAX);
- GL_GFREEIF(default_images_path);
-
- if (len >= GL_DIR_PATH_LEN_MAX) {
- gl_dbgE("strlcat returns failure(%d)!", len);
- return -1;
- }
- gl_sdbg("Default images path: %s.", path);
- return 0;
-}
-
bool _gl_fs_mkdir(const char *path)
{
GL_CHECK_FALSE(path);
+++ /dev/null
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifdef _ENABLE_TA
-#include <stdio.h>
-#include <malloc.h>
-#include <string.h>
-#include <assert.h>
-#include <time.h> // time, ctime
-#include <sys/time.h> // gettimeofday
-#include <sys/utsname.h>
-#include <sys/resource.h>
-#include <unistd.h>
-#include <stdarg.h>
-#include "gl-ta.h"
-#include <glib.h>
-#include "gallery.h"
-#include "gl-debug.h"
-
-#define GL_TA_BUF_LEN_MAX 512
-#define GL_TA_NAME_LEN_EXT 100
-#define GL_TA_HOST_NAME_LEN_MAX 256
-#define GL_TA_FORMAT_LEN_MAX 256
-
-// internal func.
-static void
-__free_cps(void);
-static int
-__get_cp_index(char *name);
-static void
-__free_accums(void);
-static int
-__get_accum_index(char *name);
-
-// global var.
-gl_ta_checkpoint **gl_g_cps = NULL;
-static int gl_g_cp_index = 0;
-
-gl_ta_accum_item **gl_g_accums = NULL;
-static int gl_g_accum_index = 0;
-static int gl_g_accum_longest_name = 0;
-static unsigned long gl_g_accum_first_time = 0xFFFFFFFF; // jmlee
-static int gl_g_enable = 1;
-
-int
-gl_ta_init(void)
-{
- if (gl_g_accums) {
- return 0;
- }
-
- gl_g_cps = (gl_ta_checkpoint **) malloc(GL_TA_MAX_CHECKPOINT * sizeof(gl_ta_checkpoint *));
- if (!gl_g_cps) {
- return -1;
- }
- memset(gl_g_cps, 0x00, GL_TA_MAX_CHECKPOINT * sizeof(gl_ta_checkpoint *));
- gl_g_accums = (gl_ta_accum_item **) malloc(GL_TA_MAX_CHECKPOINT * sizeof(gl_ta_accum_item *));
- if (!gl_g_accums) {
- return -1;
- }
- memset(gl_g_accums, 0x00, GL_TA_MAX_CHECKPOINT * sizeof(gl_ta_accum_item *));
-
- gl_g_accum_first_time = 0xFFFFFFFF;
-
- return 0;
-}
-
-int
-gl_ta_release(void)
-{
- if (!gl_g_accums) {
- return 0;
- }
-
- __free_cps();
- __free_accums();
-
- gl_g_accum_first_time = 0xFFFFFFFF;
-
- return 0;
-}
-
-void
-gl_ta_set_enable(int enable)
-{
- gl_dbg("GL_TA : setting enable to %d\n", enable);
- gl_g_enable = enable;
-}
-
-int
-gl_ta_get_numof_checkpoints()
-{
- return gl_g_cp_index;
-}
-
-char *
-gl_ta_fmt(const char *fmt, ...)
-{
- static char ta_buf[GL_TA_BUF_LEN_MAX] = { 0, };
- va_list args;
-
- va_start(args, fmt);
- vsnprintf(ta_buf, GL_TA_BUF_LEN_MAX, fmt, args);
- va_end(args);
-
- return ta_buf;
-}
-
-
-int
-gl_ta_add_checkpoint(char *name, int show, char *filename, int line)
-{
- gl_ta_checkpoint *cp = NULL;
- struct timeval t;
-
- if (!gl_g_enable) {
- return -1;
- }
-
- if (!gl_g_accums) {
- return 0;
- }
-
- if (gl_g_cp_index == GL_TA_MAX_CHECKPOINT) {
- return -1;
- }
-
- if (!name) {
- return -1;
- }
-
- if (strlen(name) == 0) {
- return -1;
- }
-
- cp = (gl_ta_checkpoint *) malloc(sizeof(gl_ta_checkpoint));
- if (!cp) {
- return -1;
- }
- memset(cp, 0x00, sizeof(gl_ta_checkpoint));
- cp->name = (char *)malloc(strlen(name) + 1);
- if (!cp->name) {
- free(cp);
- return -1;
- }
- memset(cp->name, 0x00, (strlen(name) + 1));
- g_strlcpy(cp->name, name, strlen(cp->name));
- if (show) {
- gl_sdbg("[CHECK-POINT] %s...(%s:%d)\n", name, filename, line);
- }
-
- memset(&t, 0x00, sizeof(struct timeval));
- gettimeofday(&t, NULL);
- cp->timestamp = t.tv_sec * GL_TIME_USEC_PER_SEC + t.tv_usec;
-#ifdef GL_TA_UNIT_MSEC
- cp->timestamp = (cp->timestamp >= GL_TIME_MSEC_PER_SEC) ? cp->timestamp / GL_TIME_MSEC_PER_SEC : 0;
-#endif
-
- gl_g_cps[gl_g_cp_index] = cp;
-
- gl_g_cp_index++;
-
- return 0;
-}
-
-void
-gl_ta_show_checkpoints(void)
-{
- int i = 0;
-
- if (!gl_g_accums) {
- return;
- }
-
- gl_dbg("BEGIN RESULT ============================\n");
- for (i = 0; i < gl_g_cp_index; i++) {
- gl_sdbg("[%d] %s : %ld us.\n", i, gl_g_cps[i]->name, gl_g_cps[i]->timestamp);
- }
- gl_dbg("END RESULT ============================\n");
-}
-
-void
-gl_ta_show_diff(char *name1, char *name2)
-{
- if (!gl_g_accums) {
- return;
- }
-
-
- gl_sdbg("Time takes from [%s] to [%s] : %ld us.\n", name1, name2, gl_ta_get_diff(name1, name2));
-}
-
-unsigned long
-gl_ta_get_diff(char *name1, char *name2)
-{
- int cp1, cp2;
-
- if (!gl_g_accums) {
- return 0;
- }
-
-
- // fail if bad param.
- if (!name1 || !name2) {
- return -1;
- }
-
- // fail if same.
- if (strcmp(name1, name2) == 0) {
- return -1;
- }
-
- // get index
- if ((cp1 = __get_cp_index(name1)) == -1) {
- return -1;
- }
-
- if ((cp2 = __get_cp_index(name2)) == -1) {
- return -1;
- }
-
- // NOTE :
- // return value must be positive value.
- // bcz the value of higher index of gl_g_cps always higher than lower one.
- return gl_g_cps[cp2]->timestamp - gl_g_cps[cp1]->timestamp;
-
-}
-
-static int
-__get_cp_index(char *name)
-{
- int i;
-
- //assert(name);
- if (!name) {
- return -1;
- }
-
- // find index
- for (i = 0; i < gl_g_cp_index; i++) {
- if (strcmp(name, gl_g_cps[i]->name) == 0) {
- return i;
- }
- }
-
- return -1;
-}
-
-static int
-__get_accum_index(char *name)
-{
- int i;
-
- //assert(name);
- if (!name) {
- return -1;
- }
-
-
- // find index
- for (i = 0; i < gl_g_accum_index; i++) {
- if (strcmp(name, gl_g_accums[i]->name) == 0) {
- return i;
- }
- }
-
- return -1;
-}
-
-static void
-__free_cps(void)
-{
- int i = 0;
-
- if (!gl_g_cps) {
- return;
- }
-
- for (i = 0; i < gl_g_cp_index; i++) {
- if (gl_g_cps[i]) {
- if (gl_g_cps[i]->name) {
- free(gl_g_cps[i]->name);
- }
-
- free(gl_g_cps[i]);
-
- gl_g_cps[i] = NULL;
- }
- }
-
- free(gl_g_cps);
- gl_g_cps = NULL;
-
- gl_g_cp_index = 0;
-}
-
-static void
-__free_accums(void)
-{
- int i = 0;
-
- if (!gl_g_accums) {
- return;
- }
-
- for (i = 0; i < gl_g_accum_index; i++) {
- if (gl_g_accums[i]) {
- if (gl_g_accums[i]->name) {
- free(gl_g_accums[i]->name);
- }
-
- free(gl_g_accums[i]);
-
- gl_g_accums[i] = NULL;
- }
- }
-
- gl_g_accum_index = 0;
- gl_g_accum_longest_name = 0;
-
- free(gl_g_accums);
- gl_g_accums = NULL;
-}
-
-
-int
-gl_ta_accum_item_begin(char *name, int show, char *filename, int line)
-{
- gl_ta_accum_item *accum = NULL;
- int index = 0;
- int name_len = 0;
- struct timeval t;
-
- if (!gl_g_enable) {
- return -1;
- }
-
- if (!gl_g_accums) {
- return 0;
- }
-
-
-
- if (gl_g_accum_index == GL_TA_MAX_ACCUM) {
- return -1;
- }
-
- if (!name) {
- return -1;
- }
-
- name_len = strlen(name);
- if (name_len == 0) {
- return -1;
- }
-
- // if 'name' is new one. create new item.
- if ((index = __get_accum_index(name)) == -1) {
- accum = (gl_ta_accum_item *) malloc(sizeof(gl_ta_accum_item));
- if (!accum) {
- return -1;
- }
-
- // clear first.
- memset(accum, 0x00, sizeof(gl_ta_accum_item));
- accum->elapsed_min = 0xFFFFFFFF;
-
- accum->name = (char *)malloc(name_len + GL_TA_NAME_LEN_EXT);
- if (!accum->name) {
- free(accum);
- return -1;
- }
- memset(accum->name, 0x00, name_len + GL_TA_NAME_LEN_EXT);
- g_strlcpy(accum->name, name, name_len);
- // add it to list.
- gl_g_accums[gl_g_accum_index] = accum;
- gl_g_accum_index++;
-
- if (gl_g_accum_longest_name < name_len) {
- gl_g_accum_longest_name = name_len;
- }
-
- } else {
- accum = gl_g_accums[index];
- }
-
- // verify pairs of begin, end.
- if (accum->on_estimate) {
- gl_sdbg("[%s] is not 'end'ed!\n", accum->name);
- accum->num_unpair++;
- return -1;
- }
-
- memset(&t, 0x00, sizeof(struct timeval));
- // get timestamp
- gettimeofday(&t, NULL);
- accum->timestamp = t.tv_sec * GL_TIME_USEC_PER_SEC + t.tv_usec;
-#ifdef GL_TA_UNIT_MSEC
- accum->timestamp = (accum->timestamp >= GL_TIME_MSEC_PER_SEC) ? accum->timestamp / GL_TIME_MSEC_PER_SEC : 0;
-#endif
- accum->on_estimate = 1;
-
- if (accum->first_start == 0) {
- // assum that timestamp never could be zero.
- accum->first_start = accum->timestamp;
-
- if (gl_g_accum_first_time > accum->first_start) {
- gl_g_accum_first_time = accum->first_start;
- }
- }
-
- if (show) {
- gl_sdbg("[ACCUM BEGIN] %s : %ld ---(%s:%d)\n", name, accum->timestamp, filename, line);
- }
-
- accum->num_calls++;
-
- return 0;
-}
-
-int
-gl_ta_accum_item_end(char *name, int show, char *filename, int line)
-{
- gl_ta_accum_item *accum = NULL;
- long int tval = 0;
- int index = 0;
- struct timeval t;
-
- if (!gl_g_enable) {
- return -1;
- }
-
- if (!gl_g_accums) {
- return 0;
- }
-
- memset(&t, 0x00, sizeof(struct timeval));
- // get time first for more accuracy.
- gettimeofday(&t, NULL);
-
- if (gl_g_accum_index == GL_TA_MAX_ACCUM) {
- return -1;
- }
-
- if (!name) {
- return -1;
- }
-
- if (strlen(name) == 0) {
- return -1;
- }
-
- // varify the 'name' is already exist.
- if ((index = __get_accum_index(name)) == -1) {
- //printf("[%s] is not added before!\n", name);
- return -1;
- }
-
- accum = gl_g_accums[index];
-
- // verify pairs of begin, end.
- if (!accum->on_estimate) {
- gl_sdbg("[%s] is not 'begin' yet!\n", accum->name);
- accum->num_unpair++;
- return -1;
- }
-
- // get current timestamp.
- tval = t.tv_sec * GL_TIME_USEC_PER_SEC + t.tv_usec;
-#ifdef GL_TA_UNIT_MSEC
- tval = (tval >= GL_TIME_MSEC_PER_SEC) ? tval / GL_TIME_MSEC_PER_SEC : 0;
-#endif
-
- // update last_end
- accum->last_end = tval;
-
- // make get elapsed time.
- tval = tval - accum->timestamp;
-
- // update min/max
- accum->elapsed_max = tval > accum->elapsed_max ? tval : accum->elapsed_max;
- accum->elapsed_min = tval < accum->elapsed_min ? tval : accum->elapsed_min;
-
- if (show) {
- gl_sdbg("[ACCUM END] %s : %ld + %ld ---(%s:%d)\n", name, accum->elapsed_accum, tval, filename, line);
- }
-
- // add elapsed time
- accum->elapsed_accum += tval;
- accum->on_estimate = 0;
-
- return 0;
-}
-
-void
-__print_some_info(FILE * fp)
-{
- if (!fp) {
- return;
- }
-
- // comment
- {
- gl_dbg("\nb~ b~ b~\n\n");
- }
-
- // General infomation
- {
- time_t t_val;
- char hostname[GL_TA_HOST_NAME_LEN_MAX] = { 0, };
- char time_buf[GL_TA_TIME_BUF_LEN] = { 0,};
- struct utsname uts;
- struct rusage r_usage;
-
- gl_dbg("\n[[ General info ]]\n");
-
- // time and date
- time(&t_val);
- gl_dbg("Date : %s", ctime_r(&t_val, time_buf));
-
- memset(&uts, 0x00, sizeof(struct utsname));
- // system
- if (gethostname(hostname, GL_TA_HOST_NAME_LEN_MAX - 1) == 0 && uname(&uts) >= 0) {
- gl_dbg("Hostname : %s\n", hostname);
- gl_dbg("System : %s\n", uts.sysname);
- gl_dbg("Machine : %s\n", uts.machine);
- gl_dbg("Nodename : %s\n", uts.nodename);
- gl_dbg("Release : %s \n", uts.release);
- gl_dbg("Version : %s \n", uts.version);
- }
-
- memset(&r_usage, 0x00, sizeof(struct rusage));
- // process info.
- gl_dbg("Process priority : %d\n", getpriority(PRIO_PROCESS, getpid()));
- getrusage(RUSAGE_SELF, &r_usage);
- gl_dbg("CPU usage : User = %ld.%06ld, System = %ld.%06ld\n",
- r_usage.ru_utime.tv_sec, r_usage.ru_utime.tv_usec,
- r_usage.ru_stime.tv_sec, r_usage.ru_stime.tv_usec);
-
-
- }
-
- // host environment variables
- {
- extern char **environ;
- char **env = environ;
-
- gl_dbg("\n[[ Host environment variables ]]\n");
- while (*env) {
- gl_dbg("%s\n", *env);
- env++;
- }
- }
-
- // applied samsung feature
- {
- }
-
-
-}
-
-void
-gl_ta_accum_show_result(int direction)
-{
- int i = 0;
- char format[GL_TA_FORMAT_LEN_MAX] = { 0, };
- FILE *fp = stderr;
-
- if (!gl_g_accums) {
- return;
- }
-
- switch (direction) {
- case GL_TA_SHOW_STDOUT:
- fp = stdout;
- break;
- case GL_TA_SHOW_STDERR:
- fp = stderr;
- break;
- case GL_TA_SHOW_FILE: {
- fp = fopen(GL_TA_RESULT_FILE, "wt");
- if (!fp) {
- return;
- }
- }
- }
- __print_some_info(fp);
-
-#ifdef GL_TA_UNIT_MSEC
- snprintf(format, sizeof(format),
- "[%%3d] %%-%ds | \ttotal : %%4ld\tcalls : %%3ld\tavg : %%4ld\tmin : %%4ld\tmax : %%4ld\tstart : %%4lu\tend : %%4lu\tunpair : %%3ld\n",
- gl_g_accum_longest_name);
- gl_dbg("BEGIN RESULT ACCUM============================ : NumOfItems : %d, unit(msec)\n", gl_g_accum_index);
-#else
- snprintf(format, sizeof(format),
- "[%%3d] %%-%ds | \ttotal : %%ld\tcalls : %%ld\tavg : %%ld\tmin : %%ld\tmax : %%ld\tstart : %%lu\tend : %%lu\tunpair : %%ld\n",
- gl_g_accum_longest_name);
- gl_dbg("BEGIN RESULT ACCUM============================ : NumOfItems : %d, unit(usec)\n", gl_g_accum_index);
-#endif
-
- for (i = 0; i < gl_g_accum_index; i++) {
- // prevent 'devide by zero' error
- if (gl_g_accums[i]->num_calls == 0) {
- gl_g_accums[i]->num_calls = 1;
- }
-
- /*fprintf(fp,
- format,
- i,
- gl_g_accums[i]->name,
- gl_g_accums[i]->elapsed_accum,
- gl_g_accums[i]->num_calls,
- (gl_g_accums[i]->elapsed_accum == 0) ? 0 : (int)(gl_g_accums[i]->elapsed_accum / gl_g_accums[i]->num_calls), // Fix it! : devide by zero.
- gl_g_accums[i]->elapsed_min,
- gl_g_accums[i]->elapsed_max,
- gl_g_accums[i]->first_start - gl_g_accum_first_time,
- gl_g_accums[i]->last_end - gl_g_accum_first_time,
- gl_g_accums[i]->num_unpair);*/
- }
- gl_dbg("END RESULT ACCUM ============================\n");
-
- if (direction == GL_TA_SHOW_FILE) {
- fclose(fp);
- }
-}
-
-#endif //_ENABLE_TA
#include "gl-file-util.h"
#include "gl-timeline.h"
-#define GL_NAVIBAR_STYLE_DEFAULT GL_CHECKBOX_STYLE_DEFAULT
-#define GL_SELALL_TIMER_INT 0.3
-
-int _gl_ui_hide_back_button(Elm_Object_Item *nf_it)
-{
- GL_CHECK_VAL(nf_it, -1);
- elm_object_item_part_content_set(nf_it, GL_NAVIFRAME_PREV_BTN, NULL);
- return 0;
-}
-
-static void __gl_ui_show_title_toolbar(void *data, Evas_Object *obj, void *ei)
-{
- GL_CHECK(data);
- gl_appdata *ad = (gl_appdata *)data;
- ad->entryinfo.b_hide_sip = true;
- Evas_Object *nf = ad->maininfo.naviframe;
- Elm_Object_Item *navi_it = elm_naviframe_top_item_get(nf);
- GL_CHECK(navi_it);
- switch (ad->maininfo.rotate_mode) {
- case APP_DEVICE_ORIENTATION_90:
- case APP_DEVICE_ORIENTATION_270:
- elm_naviframe_item_title_enabled_set(navi_it, EINA_FALSE, EINA_FALSE);
- break;
- default:
- break;
- }
-}
-
-static void __gl_ui_hide_title_toolbar(void *data, Evas_Object *obj, void *ei)
-{
- GL_CHECK(data);
- gl_appdata *ad = (gl_appdata *)data;
- ad->entryinfo.b_hide_sip = false;
- Evas_Object *nf = ad->maininfo.naviframe;
- Elm_Object_Item *navi_it = elm_naviframe_top_item_get(nf);
- GL_CHECK(navi_it);
- elm_naviframe_item_title_enabled_set(navi_it, EINA_TRUE, EINA_FALSE);
-}
-
int _gl_ui_clear_btns(void *data)
{
GL_CHECK_VAL(data, -1);
return eo;
}
-int _gl_ui_rm_selall_btn(Elm_Object_Item *nf_it)
-{
- GL_CHECK_VAL(nf_it, -1);
- Evas_Object *btn = NULL;
- btn = elm_object_item_part_content_get(nf_it,
- GL_NAVIFRAME_TITLE_RIGHT_BTN);
- GL_IF_DEL_OBJ(btn);
- return 0;
-}
-
-int _gl_ui_add_selall_btn(Evas_Object *naviframe, Elm_Object_Item *nf_it,
- Evas_Smart_Cb cb_func, void *data)
-{
- GL_CHECK_VAL(data, -1);
- GL_CHECK_VAL(naviframe, -1);
- gl_appdata *ad = (gl_appdata *)data;
- Elm_Object_Item *_nf_it = nf_it;
-
- if (_nf_it == NULL) {
- _nf_it = elm_naviframe_top_item_get(naviframe);
- GL_CHECK_VAL(_nf_it, -1);
- }
- Evas_Object *sel_all_btn = NULL;
- sel_all_btn = _gl_but_create_image_but(naviframe,
- GL_ICON_TITLE_SELECT_ALL, NULL,
- GL_BUTTON_STYLE_NAVI_TITLE_ICON,
- cb_func, data, EINA_FALSE);
- GL_CHECK_VAL(sel_all_btn, -1);
- elm_object_item_part_content_set(_nf_it, GL_NAVIFRAME_TITLE_RIGHT_BTN,
- sel_all_btn);
- ad->selinfo.ck_state = false;
- return 0;
-}
-
-Evas_Object *_gl_ui_create_gridview_ly(void *data, Evas_Object *parent)
-{
- GL_CHECK_NULL(parent);
- GL_CHECK_NULL(data);
- gl_appdata *ad = (gl_appdata *)data;
- gl_dbg("");
-
- Evas_Object *layout = NULL;
- char *path = _gl_get_edje_path();
- GL_CHECK_NULL(path);
- layout = gl_ui_load_edj(ad->maininfo.naviframe, path,
- GL_GRP_GRIDVIEW);
- free(path);
- evas_object_show(layout);
-
- return layout;
-}
-
-gl_icon_type_e _gl_ui_elm_bg_file_set(Evas_Object *bg, gl_item *git)
-{
- if (git == NULL || git->item == NULL) {
- gl_dbgE("Invalid item :%p", git);
- elm_bg_file_set(bg, GL_ICON_CONTENTS_BROKEN, NULL);
- return GL_ICON_CORRUPTED_FILE;
- }
-
- elm_bg_file_set(bg, _GET_ICON(git->item->thumb_url), NULL);
- return GL_ICON_NORMAL;
-}
-
-int _gl_ui_set_content(Evas_Object *layout, const char *part,
- Evas_Object *new_content)
-{
- GL_CHECK_VAL(layout, -1);
- GL_CHECK_VAL(new_content, -1);
- Evas_Object *old_content = NULL;
-
- old_content = elm_object_part_content_get(layout, part);
- if (old_content && old_content == new_content) {
- gl_dbg("Already set");
- return 0;
- }
-
- gl_dbg("Set content");
- elm_object_part_content_set(layout, part, new_content);
-
- return 0;
-}
-
int _gl_ui_set_toolbar_state(void *data, bool b_hide)
{
GL_CHECK_VAL(data, -1);
}
-bool _gl_ui_hide_keypad(void *data)
-{
- GL_CHECK_VAL(data, -1);
- gl_appdata *ad = (gl_appdata *)data;
- if (ad->entryinfo.b_hide_sip) {
- if (ad->entryinfo.context) {
- ad->entryinfo.b_hide_sip = false;
- return true;
- }
- }
- return false;
-
-}
-
-int _gl_ui_add_conform_cbs(void *data)
-{
- GL_CHECK_VAL(data, -1);
-
- gl_appdata *ad = (gl_appdata *)data;
- Evas_Object *naviframe = ad->maininfo.naviframe;
- Evas_Object *conform = NULL;
-
- /* Get conformant */
- conform = (Evas_Object *)evas_object_data_get(naviframe,
- GL_NAVIFRAME_OBJ_DATA_KEY);
- GL_CHECK_VAL(conform, -1);
-
- evas_object_smart_callback_add(conform, GL_IMF_ON,
- __gl_ui_show_title_toolbar, data);
- evas_object_smart_callback_add(conform, GL_IMF_OFF,
- __gl_ui_hide_title_toolbar, data);
- evas_object_smart_callback_add(conform, GL_STA_ON,
- __gl_ui_show_title_toolbar, data);
- evas_object_smart_callback_add(conform, GL_STA_OFF,
- __gl_ui_hide_title_toolbar, data);
- return 0;
-}
-
-int _gl_ui_del_conform_cbs(Evas_Object *naviframe)
-{
- GL_CHECK_VAL(naviframe, -1);
- Evas_Object *conform = NULL;
-
- /* Get conformant */
- conform = (Evas_Object *)evas_object_data_get(naviframe,
- GL_NAVIFRAME_OBJ_DATA_KEY);
- GL_CHECK_VAL(conform, -1);
-
- evas_object_smart_callback_del(conform, GL_IMF_ON,
- __gl_ui_show_title_toolbar);
- evas_object_smart_callback_del(conform, GL_IMF_OFF,
- __gl_ui_hide_title_toolbar);
- evas_object_smart_callback_del(conform, GL_STA_ON,
- __gl_ui_show_title_toolbar);
- evas_object_smart_callback_del(conform, GL_STA_OFF,
- __gl_ui_hide_title_toolbar);
- return 0;
-}
-
-
int _gl_ui_set_conform_overlap(Evas_Object *naviframe)
{
GL_CHECK_VAL(naviframe, -1);
return elm_object_item_part_content_get(_nf_it, part);
}
-/* Update all realized items's checkbox */
-int _gl_ui_update_realized_list_ck(Evas_Object *view, const char *part,
- Eina_Bool state)
-{
- GL_CHECK_VAL(part, -1);
- GL_CHECK_VAL(view, -1);
- Eina_List *list = NULL;
- Eina_List *l = NULL;
- Elm_Object_Item *it = NULL;
-
- list = elm_genlist_realized_items_get(view);
- GL_CHECK_VAL(list, -1);
-
- EINA_LIST_FOREACH(list, l, it) {
- if (it == NULL) {
- gl_dbgE("Invalid item!");
- continue;
- }
- _gl_ui_set_checkbox_state(it, part, state);
- }
- return 0;
-}
-
int _gl_ui_update_realized_grid_ck(Evas_Object *view, const char *part1,
const char *part2, Eina_Bool state)
{
return 0;
}
-/* Update all realized items's field */
-int _gl_ui_update_realized_list_field(Evas_Object *view, const char *part)
-{
- GL_CHECK_VAL(part, -1);
- GL_CHECK_VAL(view, -1);
- Eina_List *list = NULL;
- Eina_List *l = NULL;
- Elm_Object_Item *it = NULL;
-
- list = elm_genlist_realized_items_get(view);
- GL_CHECK_VAL(list, -1);
-
- EINA_LIST_FOREACH(list, l, it) {
- if (_gl_ui_update_list_field(it, part) < 0) {
- return -1;
- }
- }
- return 0;
-}
-
-int _gl_ui_update_list_field(Elm_Object_Item *it, const char *part)
-{
- GL_CHECK_VAL(part, -1);
- GL_CHECK_VAL(it, -1);
- elm_genlist_item_fields_update(it, part,
- ELM_GENLIST_ITEM_FIELD_CONTENT);
- return 0;
-}
-
int _gl_ui_reset_scroller_pos(Evas_Object *obj)
{
GL_CHECK_VAL(obj, -1);
return 0;
}
-/* Delete naviframe items from top one to @to_it */
-int _gl_ui_del_nf_items(Evas_Object *nf, Elm_Object_Item *to_it)
-{
- GL_CHECK_VAL(nf, -1);
- Eina_List *nf_items = NULL;
- Eina_List *l = NULL;
- Elm_Object_Item *it = NULL;
-
- nf_items = elm_naviframe_items_get(nf);
- EINA_LIST_REVERSE_FOREACH(nf_items, l, it) {
- if (it != to_it) {
- gl_dbg("Delete one item!");
- elm_object_item_del(it);
- it = NULL;
- } else {
- break;
- }
- }
- eina_list_free(nf_items);
- return 0;
-}
-
int _gl_ui_set_translate_str(Evas_Object *obj, const char *str)
{
GL_CHECK_VAL(str, -1);
}
gl_update_view(ad, GL_UPDATE_VIEW_MMC_ADDED);
- //evas_object_smart_callback_call(ad->maininfo.naviframe,
- // "gallery,db,data,updated", data);
/* Remove ctxpopup */
_gl_ctxpopup_del(ad);
} else if (state == STORAGE_STATE_REMOVED ||
ad->maininfo.mmc_state = GL_MMC_STATE_REMOVED;
}
gl_update_view(ad, GL_UPDATE_VIEW_MMC_REMOVED);
- //evas_object_smart_callback_call(ad->maininfo.naviframe,
- // "gallery,db,data,updated", data);
/* Remove ctxpopup */
_gl_ctxpopup_del(ad);
}
return 0;
}
-/**
-* Check album name is valid and remove unuseful characters
-* 1) not only includes space;
-* 2) contains invalid character;
-* 3) it's empty.
-*
-* @param b_new
-* true: add a new album ; false: rename a album.
-* @param b_enter
-* true: Enter key pressed ; false: Button Done clicked.
-*
-*/
-int _gl_get_valid_album_name(void *data, char *album_name, bool b_new,
- bool b_enter)
-{
- GL_CHECK_VAL(album_name, -1);
- GL_CHECK_VAL(data, -1);
- gl_appdata *ad = (gl_appdata *)data;
- int mode = 0;
- gl_sdbg("Input album name: %s", album_name);
- char *popup_desc;
- popup_desc = (char *)calloc(GL_POPUP_STRING_MAX, sizeof(char));
- if (popup_desc == NULL) {
- gl_dbg("memory allocation fail");
- return -1;
- }
- /* Check album name length */
- if (strlen(album_name) == 0) {
- gl_dbgW("Inserted text is empty!");
- if (b_enter) {
- gl_dbg("Enter key pressed.");
- goto INVALID_ALBUM_NAME;
- }
-
- if (b_new) {
- mode = GL_POPUP_ALBUM_NEW_EMPTY;
- } else {
- mode = GL_POPUP_ALBUM_RENAME_EMPTY;
- }
- snprintf(popup_desc, GL_POPUP_STRING_MAX, "%s<br>%s",
- GL_STR_ENTRY_IS_EMPTY, GL_STR_RETRY_Q);
- gl_popup_create_popup(ad, mode, popup_desc);
- goto INVALID_ALBUM_NAME;
- }
- gl_sdbg("Inserted album name: %s, length: %d", album_name, strlen(album_name));
-
- /* Removes leading and trailing whitespace */
- g_strstrip((gchar *)album_name);
- if (strlen(album_name) == 0) {
- gl_dbgW("Album name includes only space!");
- if (b_enter) {
- gl_dbg("Enter key pressed.");
- goto INVALID_ALBUM_NAME;
- }
-
- if (b_new) {
- mode = GL_POPUP_ALBUM_NEW_EMPTY;
- } else {
- mode = GL_POPUP_ALBUM_RENAME_EMPTY;
- }
- snprintf(popup_desc, GL_POPUP_STRING_MAX, "%s<br>%s",
- GL_STR_INVALID_INPUT_PARAMETER, GL_STR_RETRY_Q);
- gl_popup_create_popup(ad, mode, popup_desc);
- goto INVALID_ALBUM_NAME;
- }
-
- /* Check if there is any invalid character in string */
- if (_gl_fs_validate_name(album_name) == false) {
- gl_dbgW("Album name includes invalid character!");
- if (b_new) {
- mode = GL_POPUP_ALBUM_NEW_INVALID;
- } else {
- mode = GL_POPUP_ALBUM_RENAME_INVALID;
- }
- snprintf(popup_desc, GL_POPUP_STRING_MAX, "%s<br>%s",
- GL_STR_INVALID_INPUT_PARAMETER, GL_STR_RETRY_Q);
- gl_popup_create_popup(ad, mode, popup_desc);
- goto INVALID_ALBUM_NAME;
- }
-
- GL_FREE(popup_desc);
-
- return 0;
-
-INVALID_ALBUM_NAME:
- GL_FREE(popup_desc);
- return -1;
-}
-
int _gl_validate_album_name(void *data, char *album_name)
{
GL_CHECK_VAL(album_name, -1);
return -1;
}
-int _gl_validate_input_character(void *data, char *album_name)
-{
- GL_CHECK_VAL(album_name, -1);
- GL_CHECK_VAL(data, -1);
- gl_sdbg("Input album name: %s", album_name);
-
- /* Check if there is any invalid character in string */
- if (_gl_fs_validate_character(album_name[strlen(album_name) - 1]) == false) {
- gl_dbgW("Album name includes invalid character!");
- _gl_popup_create_local(data, GL_POPUP_NOBUT, GL_STR_ID_INVALID_INPUT_PARAMETER);
- goto INVALID_ALBUM_NAME;
- }
-
- return 0;
-
-INVALID_ALBUM_NAME:
-
- return -1;
-}
-
/* *
* In case of system folder, the displayed name should be translated into system language
*
return i18n_name;
}
-int gl_get_selected_files_path_str(void *data, gchar sep_c, char **path_str,
- int *sel_cnt)
-{
- GL_CHECK_VAL(path_str, -1);
- GL_CHECK_VAL(data, -1);
- gl_appdata *ad = (gl_appdata *)data;
- GL_CHECK_VAL(ad->selinfo.elist, -1);
- GString *selected_path_list = g_string_new(NULL);
- gl_item *current = NULL;
- int selected_item_cnt = 0;
- Eina_List *l = NULL;
-
- EINA_LIST_FOREACH(ad->selinfo.elist, l, current) {
- if (current == NULL || current->item == NULL) {
- if (selected_path_list) {
- g_string_free(selected_path_list, true);
- selected_path_list = NULL;
- }
- return -1;
- }
-
- if (selected_path_list) {
- if (strstr(selected_path_list->str, current->item->file_url)) {
- gl_dbgW("Already appended!");
- } else {
- selected_item_cnt++;
- g_string_append(selected_path_list,
- current->item->file_url);
- g_string_append_c(selected_path_list, sep_c);
- }
- }
-
- }
- gl_dbg("Selected items count: %d.", selected_item_cnt);
- if (sel_cnt) {
- *sel_cnt = selected_item_cnt;
- }
- if (selected_path_list) {
- int len = strlen(selected_path_list->str);
- g_string_truncate(selected_path_list, len - 1);
- /**
- * Frees the memory allocated for the GString.
- * If free_segment is true it also frees the character data.
- * If it's false, the caller gains ownership of the buffer
- * and must free it after use with g_free().
- */
- *path_str = g_string_free(selected_path_list, false);
- GL_CHECK_VAL(*path_str, -1);
- gl_dbg("Total string:\n\n\t>>@@:> %s <:@@<<\n", *path_str);
- }
- return 0;
-}
-
bool gl_make_new_album(const char *name)
{
gl_dbg("");
return false;
}
-bool gl_is_image_valid(void *data, char *filepath)
-{
- GL_CHECK_FALSE(data);
- gl_appdata *ad = (gl_appdata *)data;
- GL_CHECK_FALSE(filepath);
-
- Evas_Object *image = NULL;
- int width = 0;
- int height = 0;
- Evas *evas = NULL;
-
- evas = evas_object_evas_get(ad->maininfo.win);
- GL_CHECK_FALSE(evas);
-
- image = evas_object_image_add(evas);
- GL_CHECK_FALSE(image);
-
- evas_object_image_filled_set(image, 0);
- evas_object_image_load_scale_down_set(image, 0);
- evas_object_image_file_set(image, filepath, NULL);
- evas_object_image_size_get(image, &width, &height);
- evas_object_del(image);
- image = NULL;
-
- if (width <= 0 || height <= 0) {
- gl_sdbg("Cannot load file : %s", filepath);
- return false;
- }
-
- return true;
-}
-
/*
* Check MMC state(Inserted/Removed) for Move/Delete/Add tag/Remove.
*/
return 0;
}
-/* Delete UI item */
-/*
-static int __gl_del_gengrid_item(void *data, int index)
-{
- GL_CHECK_VAL(data, -1);
- gl_appdata *ad = (gl_appdata *)data;
- gl_item *gitem = NULL;
- gl_dbg("elist cnt: %d", eina_list_count(ad->selinfo.elist));
- // Get selected media
- gitem = eina_list_nth(ad->selinfo.elist, index);
- if (gitem) {
- gl_dbgE("elm_item: %p", gitem->elm_item);
- if (gitem->elm_item) {
- elm_object_item_del(gitem->elm_item);
- gitem->elm_item = NULL;
- }
- }
- return 0;
-}
-*/
int _gl_update_operation_view(void *data, const char *noti_str)
{
GL_CHECK_VAL(data, -1);
} else {
/*update view soon after removing over*/
_gl_thumbs_update_view(ad);
-// _gl_thumbs_update_sequence(ad);
}
_gl_update_operation_view(ad, GL_STR_DELETED);
if (_gl_local_data_delete_album(album_item->cluster,
NULL, data, is_hide) != 0) {
gl_dbgE("delete album failed!");
- //return -1;
}
_gl_delete_folder(album_item->cluster->path);
if (_gl_move_media_thumb(data, gitem, ad->albuminfo.dest_folder, true, &popup_op, ad->albuminfo.file_mc_mode) != 0) {
gl_dbg("Failed to move this item");
}
-
- /*_gl_thumbs_get_list(data, &media_elist);
- media_elist = eina_list_remove(media_elist, gitem);
- _gl_thumbs_set_list(data, media_elist);
- gl_dbgE("elm_item: %p", gitem->elm_item);
- gitem->b_deleted = true;*/
gl_dbg("File Moved:::::::%d/%d-->try to update progressbar", i, cnt);
} else {
gl_dbg("Invalid medias_op_type: %d!", ad->maininfo.medias_op_type);
return 0;
}
-time_t gl_util_get_current_systemtime(void)
-{
- struct timeval now;
- memset(&now, 0x00, sizeof(struct timeval));
- struct tm local_time;
- memset(&local_time, 0x00, sizeof(struct tm));
-
- /* get current time */
- gettimeofday(&now, NULL);
- localtime_r((time_t *)(&(now.tv_sec)), &local_time);
-
- return mktime(&local_time);
-}
-
/* Change int to char * of video duration, caller need to free the allocated memory */
char *_gl_get_duration_string(unsigned int v_dur)
{
return dur_str;
}
-gl_icon_type_e _gl_get_icon_type(gl_item *git)
-{
- if (git == NULL || git->item == NULL || git->item->file_url == NULL) {
- gl_dbgE("Invalid item :%p", git);
- return GL_ICON_CORRUPTED_FILE;
- }
-
- return GL_ICON_NORMAL;
-}
-
char *_gl_str(char *str_id)
{
GL_CHECK_NULL(str_id);
return -1;
}
/* Remove callbacks */
- _gl_ui_del_conform_cbs(ad->maininfo.naviframe);
-
evas_object_smart_callback_del(ad->entryinfo.entry,
"maxlength,reached",
__gl_editfield_maxlen_reached_cb);